Как в реактивном коде накапливать данные из восходящего потока и одновременно передавать данные в нисходящий?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как в реактивном коде накапливать данные из восходящего потока и одновременно передавать данные в нисходящий?

Сообщение Anonymous »

У меня есть такой веб-API:
  • он вызывает метод IService.Get, который возвращает IAsyncEnumerable data
  • Метод Get вернет индикатор успеха/неудачи.
  • он возвращает отдельный элемент и суммирует числа успеха/неудачи< /li>
    наконец, он возвращает объект, содержащий успех и неудачу count
Код:

Код: Выделить всё

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 };
}
});
Я уже получил код внутри IService.Get, который должен быть очень реактивным. Но я застрял на последнем этапе.
В API мне нужно:
  • вернуть необработанные данные из Get
  • собирать и преобразовывать необработанные данные и возвращать окончательный результат
Что реактивная функция могла бы это сделать?

Подробнее здесь: https://stackoverflow.com/questions/792 ... o-downstre
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»