Dav*_*ave 3 c# task-parallel-library promise firebase
我想从火力地堡实时数据库就像多个位置获取数据描述这里和这里由Frank面包车Puffelen,我无法找到任何等同于Promise.all在C#.这样做的正确方法是什么?
扩展@Christos 接受的答案:
Task.WhenAll似乎与Promise.all的直接替代品一样接近。我实际上发现它比我最初想象的更接近。以下是使用 JavaScript 实现的示例Promise.all,您可能希望在 C# 中复制该实现:
const [ resolvedPromiseOne, resolvedPromiseTwo ] = await Promise.all([ taskOne, taskTwo ]);
Run Code Online (Sandbox Code Playgroud)
在 C# 中,您可以执行非常类似的操作Task.WhenAll(假设它们返回相同的类型)。
var taskList = new[]
{
SomeTask(),
AnotherTask()
};
var completedTasks = await Task.WhenAll(taskList);
// then access them like you would any array
var someTask = completedTasks[0];
var anotherTask = completedTasks[1];
// or just iterate over the array
foreach (var task in completedTasks)
{
doSomething(task);
}
Run Code Online (Sandbox Code Playgroud)
这假设它们都在async方法/函数中。
| 归档时间: |
|
| 查看次数: |
693 次 |
| 最近记录: |