Rx .NET: ToTask против LastAsync против RunAsync - PullRequest
2 голосов
/ 26 октября 2019

Reactive Extensions имеет следующие три метода:

  • ToTask: Возвращает задачу, которая получит последнее значение или исключение, произведенное наблюдаемой последовательностью.
  • LastAsync: Возвращает последний элемент наблюдаемой последовательности
  • RunAsync: получает ожидание, которое возвращает последнее значение наблюдаемой последовательности, или выдает исключение, если последовательность пуста.

Они звучат очень похоже. Как бы я выбрал, какой использовать?

1 Ответ

0 голосов
/ 26 октября 2019

Вы должны выбрать, основываясь на том, что вы хотите сделать с возвращаемым значением, так как эти методы имеют разные типы возвращаемых данных с разными возможностями. Если вы хотите только await последний результат, вы можете использовать любой из методов, описанных выше, поскольку они обеспечивают такое же поведение в этом случае. Все они обрабатывают пустые наблюдаемые коллекции и исключения, когда их ожидают.

...