# bind

### AsyncResult.bind

Namespace: `FsToolkit.ErrorHandling`

Function Signature:

```fsharp
('a -> Async<Result<'b, 'c>>)
  -> Async<Result<'a, 'c>>
  -> Async<Result<'b, 'c>>
```

### Examples

Note: Many use-cases requiring `bind` operations can also be solved using [the `asyncResult` computation expression](https://demystifyfp.gitbook.io/fstoolkit-errorhandling/fstoolkit.errorhandling/asyncresult/ce).

#### Example 1

Continuing from the [AsyncResult.map2 example](https://demystifyfp.gitbook.io/fstoolkit-errorhandling/fstoolkit.errorhandling/asyncresult/broken-reference) and given the function

```fsharp
let notifyFollowers : NotifyNewPostRequest -> Async<Result<unit,exn>>
```

we can notify all followers using `AsyncResult.bind` as below:

```fsharp
newPostRequestResult |> AsyncResult.bind notifyFollowers
```
