const sum = await [ Promise.resolve(1), Promise.resolve(1), Promise.resolve(1) ].reduce(async (previousPromise, itemPromise) => { const sum = await previousPromise; const item = await itemPromise; return sum + item; }, Promise.resolve(0)) // sum === 3