「Promise.all」と「Promise.resolve」の例です。
Promise.all([ Promise.resolve(100), Promise.resolve(200), Promise.resolve(300) ]) .then( val => console.log('○', val), val => console.log('×', val) );
○ (3) [100, 200, 300]
「Promise.all」と「Promise.reject」の例です。
Promise.all([ Promise.resolve(100), Promise.resolve(200), Promise.reject(300) ]) .then( val => console.log('○', val), val => console.log('×', val) );
× 300
「Promise.allSettled」の例です。
Promise.allSettled([ Promise.resolve(100), Promise.resolve(200), Promise.reject(300) ]) .then(values => console.log(values));
[ {"status": "fulfilled", "value": 100}, {"status": "fulfilled", "value": 200}, {"status": "rejected", "reason": 300} ]
「then」を持ったオブジェクトを利用した「Promise.resolve」の例です。
const thenable = { then: (func1, func2) => { setTimeout(() => { func1('実行'); }, 500); } }; Promise.resolve(thenable) .then(res => { console.log(res); });
実行