同步等待异步操作,为什么Wait()在这里冻结程序
在await您的异步方法内试图回到UI线程。
await
由于UI线程正忙于等待整个任务完成,因此出现了死锁。
移动异步调用即可Task.Run()解决此问题。 由于异步调用现在正在线程池线程上运行,因此它不会尝试返回UI线程,因此一切正常。
Task.Run()
或者,您可以StartAsTask().ConfigureAwait(false)在等待内部操作使之返回线程池而不是UI线程之前进行调用,从而完全避免了死锁。
StartAsTask().ConfigureAwait(false)
你尚未登录,登录后可以
和开发者交流问题的细节
关注并接收问题和回答的更新提醒
参与内容的编辑和改进,让解决方法与时俱进
联系我
602392714
清零编程群