Ich rufe eine API von Drittanbietern an und ich habe Probleme, alle Rückgaben zu sammeln und sie als 1 Array in meiner API zurückzugeben. Ich kann sehen, dass ich erfolgreich telefoniere und sie zurückkommen. Aufgrund asynch wird das endgültige Array zurückgegeben, bevor es ausgefüllt wird. Gibt es eine elegante Lösung für den Umgang damit?Sammeln von API-Returns in einem Array
var itemIds = ['1','2','3','4','5','6']
exports.getItemData = function getItemData(req, res) {
var items = [];
var errors = [];
for(var itemId in itemIds) {
var options = {
uri: itemEndpoint + itemIds[itemId] +'/',
json: true
};
RequestPromise(options).then(function (item){
console.log(item);
items.push(item);
}).catch(function(err){
console.log(err)
errors.push(err);
});
};
res.type('application/json');
res.json(items);
};
['Promise.all'] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise/all). –