let STATE = {
进行中: 'pending',
成功: 'fulfilled',
失败: 'rejected',
}
function Mypromise(fn) {
this.state = STATE['进行中'];
this.value = null
this.error = null
let onFulfilled = function (value) {
console.log(value)
}
let onRejected = function (value) {
console.log(value)
}
let resolve = (value) => {
if (this.state === STATE['进行中']) {
onFulfilled(value)
this.state = STATE['成功']
}
}
let reject = (value) => {
if (this.state === STATE['进行中']) {
onRejected(error)
this.state = STATE['失败']
}
}
fn(resolve, reject)
}
Mypromise.prototype.then = function (onFulfilled, onRejected) {
console.log(this)
}
let p1 = new Mypromise((resolve, reject) => {
resolve(222)
reject(333)
})
p1.then()
console