const fakeAPI = (param) => new Promise((resolve, reject) => { console.log('Calling API...'); setTimeout(() => { if (param === 4) { reject('Error: ' + param); } resolve('Done: ' + param); }, 2000); }) async function main() { const arr = [1, 2, 3, 4,5]; /* Promise.all(arr.map(item => { if (item === 2) { return; } return fakeAPI(item); })).then(data => { console.log(data); }) */ for (let item of arr) { try { if (item === 2) { continue; } /* if (item !== 2) { */ const result = await fakeAPI(item); console.log(result); // } } catch (err) { console.log(err); } } } main();