F # асинхронный эквивалент Promise.race? - PullRequest
1 голос
/ 06 июня 2019

В JavaScript есть функция с именем Promise.race, которая принимает список обещаний и возвращает новое обещание, которое завершается после завершения любого входного обещания.

См .: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/race

F # имеет Async.Parallel, который завершается, когда все входных асинхронных операций завершены, но, похоже, он не имеет эквивалента для любой (например, Async.Race) ,

Как я могу написать это на F #?

1 Ответ

1 голос
/ 06 июня 2019

Вы можете использовать задачи.

Примерно так:

let any xs = 
  xs 
  |> Seq.map Async.StartAsTask
  |> Task.WhenAny
  |> Async.AwaitTask
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...