У меня есть такой веб-приложение: [list] [*]он вызывает метод IService.Get, который возвращает данные IAsyncEnumerable [*]Метод Get вернет индикатор успеха/неудачи. [*]он возвращает отдельный элемент и суммирует номера успеха/неудачи [*]Метод Get возвращает индикатор успеха/неудачи [*]он возвращает отдельный элемент и суммирует числа успеха/неудачи [*] li> наконец, он возвращает объект, содержащий успех и количество неудач [/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] Что реактивная функция могла бы это сделать?