如何使EAP方法同步工作

时间:2015-08-04 09:13:22

标签: c# wpf asynchronous async-await

我在WPF应用程序中使用CefSharp 3来使用基于Chromium的webBrowser控件。为了在html ExecutScriptAsync中调用某些脚本,使用了方法。这是一个EAP(基于事件的异步模式),我想同步运行这个函数,因为异步运行它会在我的输出中造成巨大的混乱。 因为它是EAP我不能await它。 如果我等待它会抛出错误Cannot await void

请帮助..

1 个答案:

答案 0 :(得分:1)

这个想法是这样做的:

  1. 使事件处理程序发出事件
  2. 等待活动
  3. 如果您正在使用等待,则TaskCompletionSource是一个很好的“事件”。如果你要进行同步,我可能仍会使用它,只需Wait就TCS提供的任务。