Quiz

使用Promise而不是回调的利弊是什么?

Topics
AsyncJavaScript
在GitHub上编辑

优点

  • 避免可读性糟糕的回调地狱
  • 使得用.then()编写可读的顺序异步代码变得容易。
  • 使用 Promise.all() 编写并行异步代码是容易的。
  • 有了 Promise,这些只存在于回调编码中的情况就不会发生:
    • 调用回调太早了
    • 调用回调太晚(或从不调用)
    • 调用回调太少或太多次了
    • 无法传递任何必要的环境/参数
    • 吞没可能发生的任何错误/异常

缺点

  • 略微更复杂的代码(可辩论)。
  • 在不支持 ES2015 的较旧浏览器中,您需要加载 polyfill 才能使用。
在GitHub上编辑