F # идиоматическое преобразование асинхронного во время накопления цикла

Каков идиоматический способ F # обработки асинхронного накопления цикла while?Я работаю с новым SDK Azure Cosmos DB (все еще в режиме предварительного просмотра).Запрос к базе данных возвращает ---- +: = 0 =: + ----, который имеет свойство ---- +: = 1 =: + ---- и ---- +: = 2 =: + ---- метод.Мой прямой перевод кода на C # выглядит так:
4 голоса | спросил Brian Vallelunga 27 MarpmWed, 27 Mar 2019 18:09:51 +03002019-03-27T18:09:51+03:0006 2019, 18:09:51

2 ответа


0
Я бы взглянул на пакет AsyncSeq .Вы можете использовать его для создания асинхронно вычисляемых последовательностей, а затем повторять их асинхронно или параллельно.Это позволяет асинхронному связыванию находиться внутри последовательности, а выход происходит асинхронно, поэтому вам не нужно явно собирать аккумулятор.Вы можете использовать это, чтобы сделать что-то вроде:
ответил Aaron M. Eshbach 27 MarpmWed, 27 Mar 2019 18:42:51 +03002019-03-27T18:42:51+03:0006 2019, 18:42:51
0
ИМХО хвостовая рекурсия предпочтительнее циклов while, поскольку это один из способов избежать мутации.Например:
ответил Just another metaprogrammer 27 MarpmWed, 27 Mar 2019 21:41:47 +03002019-03-27T21:41:47+03:0009 2019, 21:41:47

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132