在事件处理程序中,
async void:平衡的透视
>在异步编程中使用async void
方法通常会引发辩论。尽管通常不鼓励,但他们在事件处理人员中的应用呈现出细微的方案。
>为什么async事件处理程序通常可以接受
>除事件处理程序内外,普遍的智慧建议不要async void
。 这主要是因为事件处理程序本质上不会返回值,而是使自然返回类型成为自然返回类型。 此外,它们通常一次性执行最小
void
async void
导航潜在的挑战
但是,即使有事件处理程序,也存在潜在问题:
并发冲突:
即使在先前的调用完成之前,也可以同时调用事件处理程序。 如果处理程序修改共享资源,这可能会导致种族条件和不可预测的行为。测试困难:隔离和测试
事件处理程序可能很复杂。 他们对UI框架事件的依赖需要精心设计和嘲笑策略。>可靠异步事件处理 async void
的最佳实践
为了减轻这些风险,建议采用结构化方法:
>在摘要 中
>在事件处理程序中并不是固有的缺陷,仔细考虑至关重要。 通过将异步逻辑封装在单独的方法中,开发人员可以在事件处理程序中利用异步编程的功能,同时最大程度地减少潜在问题并改善代码可维护性。
以上是在事件处理程序中,我应该使用异步空白吗?的详细内容。更多信息请关注PHP中文网其他相关文章!