Promise 是一个对象,保存着未来将要结束的事件,有两个特性:
class PromiseM {
constructor (process) {
this.status = 'pending'
this.msg = ''
process(this.resolve.bind(this), this.reject.bind(this))
return this
}
resolve (val) {
this.status = 'fulfilled'
this.msg = val
}
reject (err) {
this.status = 'rejected'
this.msg = err
}
then (fufilled, reject) {
if (this.status === 'fulfilled') {
fufilled(this.msg)
}
if (this.status === 'rejected') {
reject(this.msg)
}
}
}
// 测试
var mm = new PromiseM(function(resolve, reject) {
resolve('123');
})
mm.then(function(success) {
console.log(success);
}, function() {
console.log('fail')
})
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。