AsyncResult Infix Operators

Namespace: FsToolkit.ErrorHandling.Operator.AsyncResult

FsToolkit.ErrorHandling provides the standard infix operators for the map (<!>), apply (<*>), and bind (>>=) functions of the Async<Result<_,_>> type.


Example 1

Expanding on the AsyncResult.map2 example, we define another function:

notifyFollowers : NotifyNewPostRequest -> Async<Result<unit, exn>>

We can then rewrite the example and additionally call notifyFollowers using the operators as below:

open FsToolkit.ErrorHandling.Operator.AsyncResult
// CreatePostRequest -> Async<Result<unit, exn>>
let createPostAndNotifyFollowers (req : CreatePostRequest) =
<!> (getFollowerIds req.UserId)
<*> (createPost req)
>>= notifyFollowers