Promise 和 async & await

Promise 和 async & await

异步是为了优化需要长时间操作。异步编程技术使你的程序可以在执行一个可能长期运行的任务的同时继续对其他事件做出反应而不必等待任务完成。

回调函数

回调函数表明异步操作已经完成。作为曾经 JavaScript 中实现异步函数的主要方式。主要存在以下几个不足:

  • 错误处理困难:当任务长期运行,调用回调函数的代码一般不会和开始任务中的同步代码位于同一事件循环周期

  • 连续执行步骤非常棘手:也就是回调地狱的问题

  • 执行并行任务时也有一定复杂度

当异步请求相互依赖时使用回调的方式会导致深度嵌套,会导致经典的回调地狱:

Read more