gpt4 book ai didi

c# - 如何同时运行 2 个异步函数

转载 作者:太空狗 更新时间:2023-10-30 00:31:00 24 4
gpt4 key购买 nike

我需要知道如何同时运行 2 个异步函数,例如检查以下代码:

public async Task<ResponseDataModel> DataDownload()
{
ResponseDataModel responseModel1 = await RequestManager.CreateRequest(postData);
ResponseDataModel responseModel2 = await RequestManager.CreateRequest(postData);

//Wait here till both tasks complete. then return the result.

}

这里我有 2 个顺序运行的 CreateRequest() 方法。我想并行运行这两个函数,在两个函数结束时我想返回结果。我如何实现这一点?

最佳答案

如果您只需要 2 个操作中的第一个结果,您可以通过调用 2 个方法,并使用 `Task.WhenAny: 等待这两个任务:

public async Task<ResponseDataModel> DataDownloadAsync()
{
var completedTask = await Task.WhenAny(
RequestManager.CreateRequest(postData),
RequestManager.CreateRequest(postData));
return await completedTask;
}

Task.WhenAny 创建一个任务,该任务将在所有提供的任务中的第一个任务完成时完成。它返回已完成的一项任务,以便您可以获得其结果。

关于c# - 如何同时运行 2 个异步函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31177973/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com