map

AsyncResult.map

Namespace: FsToolkit.ErrorHandling

Function Signature:

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

Examples

Note: Many use-cases requiring map operations can also be solved using the asyncResult computation expression.

Example 1

As a continuation of Result.map3 Example 2, let's assume that we want to store the created post in the database using the function

savePost : CreatePostRequest -> Async<Result<PostId, exn>>

We can save the post and return its inner using AsyncResult.map:

let rawPostId : Async<Result<Guid, exn>> =
savePost createostRequest
|> AsyncResult.map (fun (PostId postId) -> postId)