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)
因为要写一个测试页面 其他模块化语法需要转译