在我的带有 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);
}
问题
它们之间有什么区别?我应该使用哪一个?
任何帮助将不胜感激。谢谢。