var obj = {
status:'',
value:''
}
function Apromise(fn){
obj.status = 'pending'
obj.value= ''
function resolve(value){
if(obj.status === 'pending') {
obj.status = 'resolve'
obj.value = value
}
}
function reject(value){
if(obj.status === 'pending') {
obj.status = 'reject'
obj.value = value
}
}
fn(resolve,reject)
}
Apromise.prototype.then = function(resolve,reject){
if(obj.status === 'resolve') {
resolve(obj.value)
}
if(obj.status === 'reject') {
reject(obj.value)
}
}
let p = new Apromise((resolve,reject)=>{
//resolve('1')
reject('2')
}).then(res=>{
console.log(res)
},err=>{
console.log(err)
})
欢迎点赞留言评论