[英]What is the C# equivalent to Promise.all?
您正在寻找的是Task.WhenAll 。 您应该创建与要从中获取数据的多个位置一样多的任务,然后在此方法中提供它们。
要扩展@Christos 接受的答案:
Task.WhenAll似乎与您将获得的Promise.all替代品一样接近。 我实际上发现它比我最初想象的更接近。 下面是一个使用 JavaScript Promise.all
实现的示例,您可能希望在 C# 中复制它:
const [ resolvedPromiseOne, resolvedPromiseTwo ] = await Promise.all([ taskOne, taskTwo ]);
在 C# 中,你可以用Task.WhenAll
做一些非常相似的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);
}
这假设它们都在async
方法/函数中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.