Operators

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.

Examples:

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) = 
  notifyNewPostRequest
  <!> (getFollowerIds req.UserId)
  <*> (createPost req)
  >>= notifyFollowers

Last updated