我有以下情景/要求:
我有两个任务,任务A和任务B,它们都返回相同类型的数据。如果任务A在完成时具有其结果中的数据,则需要返回任务A的结果,否则返回任务B的结果。
我正在尝试通过并行处理来进行性能优化,但不确定是否有比我所做的更好的方法。这似乎是很多代码来实现我的需求。
我有两个任务,任务A和任务B,它们都返回相同类型的数据。如果任务A在完成时具有其结果中的数据,则需要返回任务A的结果,否则返回任务B的结果。
我正在尝试通过并行处理来进行性能优化,但不确定是否有比我所做的更好的方法。这似乎是很多代码来实现我的需求。
var firstSuccessfulTask = await Task.WhenAny(taskA, taskB);
if (firstSuccessfulTask != taskA)
{
await taskA;
}
if (taskA.Result != null)
{
return taskA.Result;
}
return await taskB;
await taskA
而跳过Task.WhenAny
的调用呢? - EJoshuaS - Stand with Ukraine