Вы можете попытаться написать функцию, которая будет возвращать обещание для client.get вместо обратного вызова.
В следующем коде показано, как это сделать, я использую ES5, но предполагаю, что собственные Promises или полизаполнение:
function promiseClientGet(o, url){
return new Promise(function(resolve,reject){
o.get(url, function (data, response) {
// try {...... need to call resolve or reject
});
});
}
function update(itemList) {
return Promise.all(itemList.map(function(item) {
return promiseClientGet(urls[env] + item['itemId'], client);
}))
}
Использование ES6:
const promiseClientGet = (o, url) => new Promise((resolve,reject)=> {
o.get.apply(o, (data, response) => {
// try {...... need to call resolve or reject
});
});
const update = itemList =>
Promise.all(itemList.map(item => promiseClientGet(urls[env] + item['itemId'], client)));