异步

48 阅读1分钟

在 Swift 中定义带有完成闭包的方法仍然是一种可行的方法,但这存在某些缺点,可以通过转换为异步来有效解决这些缺点。以下是其中一些:

  • 您必须确保在每个可能的退出中调用完成闭包,否则您最终将得到一个应用程序无休止地等待结果。
  • 闭包很难阅读。与结构化并发相比,检查执行顺序并不那么容易。
  • 使用弱引用需要避免保留循环。
  • 实施者需要切换结果才能得到结果。不可能从实现级别使用 try catch 语句。