custom promise resolve All In One
custom promise resolve All In One
ok / err
custom promise resolve / reject
const promise = new Promise((ok, err) => {
log(`resolve vs ok`);
// resolve callback, ok
ok(`✅`);
// reject callback, err
err(`❌`)
});
promise.then(v => console.log(v))
// resolve vs ok
// Promise {<fulfilled>: '✅'}
// ✅

demos
console.log(1);
setTimeout(() => {
console.log(2);
Promise.resolve().then(() => console.log(3))
}, 100);
Promise.resolve().then(() => console.log(4))
// new Promise 里面的 console.log 立即执行 ✅
new Promise((resolve, reject) => {
console.log(`✅`);
resolve(`✅`)
});
new Promise((resolve, reject) => {
console.log(`❌`);
reject(`❌`)
}).catch(err => {
console.log(`error =`, err);
});
console.log(5);
setTimeout(() => {
console.log(6);
Promise.resolve().then(() => console.log(7))
console.log(8);
}, 0);
console.log(9)
// 1
// 5
// 9
// 4
// 6
// 8
// 7
// 2
// 3
/*
$ node ./app.js
1
✅
❌
5
9
4
error = ❌
6
8
7
2
3
*/

refs
https://cdn.xgqfrms.xyz/promise/understanding-javascript-promises.pdf
©xgqfrms 2012-2021
原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!
未经授权禁止转载,违者必究!