Я пытаюсь отправить массив обещаний в экспресс-приложение, чтобы получить данные из базы данных mongo. Кажется, он ведет себя правильно на переднем конце. В этом примере оба объекта отправляются на сервер и разрешаются с помощью $ q.all. Но поскольку я отлаживаю сервер, я вижу, что оба объекта одинаковы. В этом случае это последнее обещание с payload2, которое разрешается 2 раза. Если я добавлю больше обещаний, то правильное число будет разрешено, но все они являются значениями из последнего объекта в массиве.Попытка отправить угловой динамический массив обещаний выразить сервер
var promises = logCspItemInventoryStatus(payload,result.cspItems);
return $q.all(promises)
.then(function(result){
toastr.success('Items have been logged');
})
.catch(function(err){
toastr.error(err);
})
var logCspItemInventoryStatus = function (payload,cspItems) {
var promises = [];
angular.forEach(cspItems, function(item){
//I am appending payload with items
payload.qty=item.checking;
payload.description=item.description;
//payload 1 {docId: "55c124f7485684e81d6181fc", by: "Foo Bar", checkIn: false, qty: 2, description: "car"}
//payload 2 {docId: "55c124f7485684e81d6181fc", by: "Foo2 Bar2", checkIn: false, qty: 1, description: "hall"}
var p = checkOutCspItem(payload);
promises.push(p);
});
return promises;
};
//returns a promise
var checkOutData = function(payload) {
return Csp.update(payload).$promise.then(function(result) {
return result.data
});
}