Вы можете написать так:
get_customer_purchase = (items) => {
const promiseArray = items.map((item) => {
return get_options(item.id)
})
return Promise.all(promiseArray)
.then((optionsResult) => items)
}
Обратите внимание, что в случае сбоя одного get_options
вы получите один сбой:
get_customer_purchase(array)
.then(items => /** do stuff */ )
.catch(error => /** one get_options fail */ )
Если вы хотите игнорироватьошибки некоторых get_options
можно просто изменить:
return get_options(item.id).catch(err => {return null})
, а затем использовать функцию .filter
в optionsResult
:
.then((optionsResult) => optionsResult.filter(_ => _!==null))