【问题标题】:Is there any callback option available for Async & Await [closed]是否有任何可用于异步和等待的回调选项 [关闭]
【发布时间】:2013-11-14 18:49:53
【问题描述】:

当我们在程序中使用 Async & Await 时,是否有任何选项告诉我例程已完成。

async void button1_Click(object sender, EventArgs e)
{
    await SomeLengthyOperationAsync();
}

当 SomeLengthyOperationAsync() 完成时,用户将如何获得通知。所以指导我如何使用 Async & Await 实现回调选项。谢谢

【问题讨论】:

  • “告诉我例程已完成” - 是的,它返回了!
  • 看看你的问题,你是自己用谷歌搜索还是直接在 SO 上发布问题?

标签: c# asynchronous


【解决方案1】:

这就是 async 和 await 关键字的真正意义所在!您可以简单地将代码放在 await 行之后。一旦冗长的任务完成,此代码将被执行。

【讨论】:

    【解决方案2】:

    最好使用await 对回调进行模式化;该方法的其余部分是您的“回调”。

    async void button1_Click(object sender, EventArgs e)
    {
      await SomeLengthyOperationAsync();
      // Notify user the operation is complete.
    }
    

    如果您有更复杂的场景,可以使用Task.WhenAll 和/或Task.WhenAny

    您可能会发现我的async intro 很有帮助。

    【讨论】:

      猜你喜欢
      • 2022-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-30
      • 2016-08-13
      • 2015-12-04
      • 2021-12-28
      • 2017-09-02
      相关资源
      最近更新 更多