У меня есть такой веб-API: [list] [*]он вызывает метод IService.Get, который возвращает IAsyncEnumerable data [*]Метод Get вернет индикатор успеха/неудачи. [*]он возвращает отдельный элемент и суммирует числа успеха/неудачи< /li> наконец, он возвращает объект, содержащий успех и неудачу count [/list] Код: [code]app.MapGet("/api/data", ([FromServices] IService s, CancellationToken cancellationToken) => { return Func();
async IAsyncEnumerable Func() { var success = 0; var fail = 0;
await foreach (var x in s.Get(cancellationToken)) { if (x.Item1) success++; else fail++;
yield return new { success = x.Item1, id = x.Item2 }; }
yield return new { success, fail }; } }); [/code] Я уже получил код внутри IService.Get, который должен быть очень реактивным. Но я застрял на последнем этапе. В API мне нужно: [list] [*]вернуть необработанные данные из Get [*]собирать и преобразовывать необработанные данные и возвращать окончательный результат [/list] Что реактивная функция могла бы это сделать?