Проблема:
Я пытаюсь понять, как смоделировать функцию, которая возвращает тип результата Async.
Пример:
type Get<'requestor,'item,'error> = 'requestor -> Async<Result<'item list,'error>>
ПРИМЕЧАНИЕ:
Я не сталкивался с этой проблемой, пока мне не пришлось писать код на C #, основанный на типе функции F #.Следовательно, мой код C # выполняет ввод-вывод и в результате хочет использовать тип задачи.
Неудачная попытка:
Я хочу написать идиоматический код F # и нехочу разбрызгивать типы задач C # по всем моим подписям F #.
Например, я не хочу этого делать:
type Get<'requestor,'item,'error> = 'requestor -> Task<Result<'item list,'error>>
Моя проблема в том, что я не понялспособ возврата:
Async<Result<'item list,'error>>
Вот пример моей неудачи:
let someLongRunningOperation = async { Ok [1] } // Returns Async<unit> instead of AsyncResult
Вывод:
В заключение, как мне вернутьсятип Async Result, ссылающийся на следующий неудачный пример:
let someLongRunningOperation = async { Ok [1] }