orElse Functions
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