public SearchAsync ( string term ) : Task |
||
term | string | |
Результат | Task |
public async Task<IEnumerable<string>> SearchAsync(string term)
{
Console.WriteLine("SearchEngine A - SearchAsync()");
await Task.Delay(1500);//simulate latency
return new[] { "resultA", "resultB" };
}
}
public static IObservable<string> Search_DefferedConcatingTasks(string term) { var searchEngineA = new SearchEngineA(); var searchEngineB = new SearchEngineB(); var resultsA = Observable.Defer(() => searchEngineA.SearchAsync(term).ToObservable()); var resultsB = Observable.Defer(() => searchEngineB.SearchAsync(term).ToObservable()); return resultsA .Concat(resultsB) .SelectMany(x => x); }