const foo = async function (arr) { for (let i = 0; i < arr.length; i++) { let x = await bar(arr[i]); console.log(x); } } const bar = function (x) { console.log('x is', x); return new Promise((resolve) => { setTimeout(() => resolve(x), 1000); }) }; foo([1, 2, 3])
(пример выполнения в бабелевском репле)
(Это мне понадобилось, эксперимента ради, превратить массив урлов в цепочку последовательно выполняемых запросов)