promise核心6 自定义promise
时间:2020-01-22 09:45:12
收藏:0
阅读:80
1.定义整体结构(不写实现)
定义一个自己的promise的库 lib(库的简写)
一个js文件。一个js模块(不能用es6 也不能commjs)(用es5模块语法 )
匿名函数自调用。IIFE
(function (window) { function Promise(excutor) { } //成功失败时候调用的回调函数,返回一个新的promise对象 Promise.prototype.then = function(onResoled, onRejected) {} Promise.prototype.catch = function(onRejected) {} //返回一个成功的promise,值为value(指定结果的返回) Promise.resove = function(value) {} Promise.reject = function(reason) {} //返回一个promise,所有promise都成功才成功 Promise.all = function(promises) {} //返回一个promise 结果由第一个完成的promise来确定(无论成功失败) Promise.race = function(promises) {} //向外暴露promise window.Promise = Promise })(window)
因为要写一个测试页面 其他模块化语法需要转译
2.把promise构造函数实现
3.把任何catch then 实现
4.简洁语法的实现
5.all() race()实现
6.自定义语法实现
7.es5 function版本
8.es6 class版本
原文:https://www.cnblogs.com/-constructor/p/12227610.html
评论(0)