ES6 中的 Promise(一)
2021-02-08 本文已影响0人
F_wind
《深入理解ES6》阅读随笔
历史背景
JavaScript 语言最早为了 Web 而设计的,因此需要满足网页的无阻塞交互需求,网页中各个模块之间采用异步加载模式,创建和使用时相互不构成依赖阻塞影响,是一种单线程行为,利用事件模型来处理异步调用;后来 Node.js 崛起了,但除了宿主环境还有一些 native 调用方式不同外,大部分语法和功能都跟在 Web 中使用 JavaScript 是保持一致的,Node.js 利用回调机制来处理异步调用。
事件模型
事件模型采用一种队列机制,将创建的行为按顺序扔到执行队列中,当事件完成响应时,再及时将其释放出队。
回调机制
回调机制是将事件行为委托到函数中去,然后接着无阻索地执行后面的代码,当函数中的代码执行完成之后,会将结果再返回。
为什么要用 Promise
不管是哪种方式的异步调用,在简单场景中使用还可以,一旦业务逻辑复杂起来,再处理异步调用时,就会显的极为困难。因此需要借助 Promise 的方式,来统一优化处理异步逻辑。