Карточка Middle async/await и Task обновлено

IAsyncEnumerable

Вопрос

Что такое IAsyncEnumerable<T> и как его потреблять?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

Асинхронный поток данных (C 8): элементы приходят по мере готовности. Создаётся методом с async и yield return, потребляется через await foreach.

Ответ

Асинхронный поток данных (C# 8): элементы приходят по мере готовности. Создаётся методом с async и yield return, потребляется через await foreach. Отмена: [EnumeratorCancellation] CancellationToken и .WithCancellation(ct).

Разбор

EF Core умеет AsAsyncEnumerable(), а ASP.NET Core стримит IAsyncEnumerable в JSON-ответ без буферизации всей коллекции.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме