Promise

2021-10-21  本文已影响0人  9月的甜橙子

如果你想要学习一门新技术,最好的方式是先了解这门技术是如何诞生的,以及它所解决的问题是什么。了解了这些后,你才能抓住这门技术的本质。所以本文我们就来重点聊聊 JavaScript 引入 Promise 的动机,以及解决问题的几个核心关键点。

Promise是为了解决以下两个问题:
第一是消灭嵌套调用;第二是合并多个任务的错误处理。

Promise 通过回调函数延迟绑定和回调函数返回值穿透的技术,解决了循环嵌套。


function Bromise(executor) {
    var onResolve_ = null
    var onReject_ = null
     //模拟实现resolve和then,暂不支持rejcet
    this.then = function (onResolve, onReject) {
        onResolve_ = onResolve
    };
    function resolve(value) {
          setTimeout(()=>{
            onResolve_(value)
           },0)
    }
    executor(resolve, null);
}
上一篇 下一篇

猜你喜欢

热点阅读