wer
class MyPromise {
constructor(f) {
this._reject = null
let promise = new Promise((resolve, reject) => {
this._reject = reject
f(resolve, reject)
})
promise.cancel = () => {
this._reject('Rejected')
}
return promise
}
}
function test() {
return new MyPromise((resolve, reject) => {
setTimeout(() => {
resolve(123)
}, 1000)
})
}
let promise = test()
promise
.then(() => {
console.log(321)
})
.catch(e => {
console.log(e)
})
promise.cancel()