Я прочитал следующий код. Что Util.KeepRunning()
в коде? Кажется, это ожидание завершения асинхронного метода. Но почему он должен быть одноразовым?
var observable = Observable.Create<char>(async (observer, cancel) =>
{
for (var i = 0; !cancel.IsCancellationRequested && i < 100; i++)
{
observer.OnNext(await GetCharAsync());
}
});
//Here's how you can use it in LINQPad, for example:
// Create a disposable that keeps the query running.
// This is necessary, since the observable is 100% async.
var end = Util.KeepRunning();
observable.Subscribe(
c => Console.WriteLine(c.ToString()),
() => end.Dispose());