c# - 异步方法中的 Await 与 Task.Result

标签 c# asynchronous async-await task amazon-dynamodb

<分区>

执行以下操作有什么区别:

async Task<T> method(){
    var r = await dynamodb.GetItemAsync(...)
    return r.Item;
}

对比

async Task<T> method(){
    var task = dynamodb.GetItemAsync(...)
    return task.Result.Item;
}

在我的例子中,出于某种原因,只有第二个有效。第一个似乎永远不会结束。

最佳答案

await 异步解包您的任务结果,而仅使用 Result 会阻塞直到任务完成。

See this explanantion from Jon Skeet.

关于c# - 异步方法中的 Await 与 Task.Result,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32239661/

相关文章:

c# - 通过物理环回在 2 个 TCP 应用程序之间发送数据。它会通过网卡吗?

c# - 如何启动具有管理员权限的应用程序

python - 有什么方法可以从 Python [Django] 进行异步函数调用吗?

c# - foreach vs Task.WhenAll() - 执行有什么不同吗?

iOS - NSURLConnection - 检查 URL

javascript - 使用 await 而不是 Promises 的正确方法是什么?

c# - 显示在文本框、标签后面的菜单。 ASP.NET/C#

c# - 请澄清类型参数的约束

javascript - 异步/等待不等待 promise 完成

webpack - 使用 async/await 和 webpack-简单配置抛出错误 : RegeneratorRuntime not defined