C# 异步返回 await Task.FromResult 与直接返回值

在我的带有 async 关键字的异步代码中。我已经有了 await QueryAsync(args) 来确保没有 async 方法缺少 await 运算符

现在,我需要检查 string.IsnullOrEmpty(args) 然后直接返回值而不是调用 QueryAsync

我有两个选择:

return await Task.FromResult(new List<int>());

对比

return new List<int>();

完整代码

    public async Task<List<int>> DoSomethingAsync(string args)
    {
        if (string.IsnullOrEmpty(args))
        {
            return await Task.FromResult(new List<int>()); // <--- HERE
         // return new List<int>(); 
        }

        return await QueryAsync(args);
    }

问题

它们之间有什么区别?我应该使用哪一个?

任何帮助将不胜感激。谢谢。

sushe302 回答:C# 异步返回 await Task.FromResult 与直接返回值

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/1275467.html

大家都在问