Обещания асинхронны, поэтому вы не можете этого сделать. Вы можете использовать Promise.all
, чтобы составить обещания вместе, а затем дождаться результата:
const ids = [1, 2, 3]
Promise.all(ids.map(id => getLight(id))).then(results => {
// do something with results here
})
Разбить это:
ids.map(id => getLight(id))
преобразует идентификаторы в массив из неразрешенных обещаний.
Promise.all(promises).then(results => { ... })
разрешает все обещания и передает результаты (в правильном порядке) обратному вызову