1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
'use strict'; const timeoutPromise = (ms, callback, errMsg = null) => { return new Promise((resolve, reject) => { setTimeout(() => { if (errMsg) reject(errMsg); resolve(callback()); }, ms); }); }; const getPromises = () => { const promises = []; promises.push(timeoutPromise('12', () => '12ms待ちました')); promises.push(timeoutPromise('15', () => '15ms待ちました', 'こいつはエラーです')); promises.push(timeoutPromise('19', () => '19ms待ちました')); return promises; }; getPromises().forEach(async (promise) => { console.log(await promise.catch((a) => a)); }); |
1 2 3 |
12ms待ちました こいつはエラーです 19ms待ちました |