AsyncOption.orElse
Namespace: FsToolkit.ErrorHandling
Returns the option if the option is Some, otherwise returns the given option
Function Signature
(ifNone : Async<'value option>) -> (input : Async<'value option>)
-> Async<'value option>
Examples
Example 1
let asyncOption : Async<int option> =
AsyncOption.some 1
|> AsyncOption.orElse (AsyncOption.some 2)
// async { Some 1 }
Example 2
let asyncOption : Async<int option> =
AsyncOption.some 1
|> AsyncOption.orElse (Async.singleton None)
// async { Some 1 }
Example 3
let asyncOption : Async<int option> =
Async.singleton None
|> AsyncOption.orElse (Some 2)
// async { Some 2 }
Example 4
let asyncOption : Async<int option> =
Async.singleton None
|> AsyncOption.orElse (Async.singleton None)
// async { None }
AsyncOption.orElseWith
Namespace: FsToolkit.ErrorHandling
Returns the option if the option is Some, otherwise evaluates the given function and returns the result.
Function Signature
(ifNoneFunc : unit -> Async<'value option>) -> (input : Async<'value option>)
-> Async<'value option>
Examples
Example 1
let asyncOption : Async<int option> =
AsyncOption.some 1
|> AsyncOption.orElseWith (fun () -> AsyncOption.some 2)
// async { Some 1 }
Example 2
let asyncOption : Async<int option> =
AsyncOption.some 1
|> AsyncOption.orElseWith (fun () -> None)
// async { Some 1 }
Example 3
let asyncOption : Async<int option> =
Async.singleton None
|> AsyncOption.orElseWith (fun () -> AsyncOption.some 2)
// async { Some 2 }
Example 4
let asyncOption : Async<int option> =
Async.singleton None
|> AsyncOption.orElseWith (fun () -> Async.singleton None)
// async { None }
Last updated