Async<Option<'a>> и есть вторая unit -> Async<'a>, как мне красиво вызвать первую и, если её результат None — вторую? без асинков было бы просто f1 () |> Option.defaultWith (f2 ())
defaultArg?
пока что лучший вариант: async { let! loadedState = stateManager.load () let! state = match loadedState with | None -> stateManager.empty () | Some x -> async.Return x }
Обсуждают сегодня