Я пытаюсь перебрать массив объектов JSON (var requestArray = req.body;
, в частности requestArray['filter']
), сохраняя каждый объект в базе данных.После каждого сохранения я извлекаю последнюю сохраненную таблицу данных и добавляю ее в массив let responseDataArray = [];
в responseDataArray.push(result);
.Этот массив затем возвращается как ответ на запрос.
app.post('/sound', function (req, res) {
var requestArray = req.body;
let responseDataArray = [];
for (var i = 0; i < requestArray['filter'].length; i++) {
if (i > 3)
break;
var revEl = requestArray['filter'][i];
// console.log('GUID >>> ' + i + ' : ' + revEl['_revEntityGUID'] + ' >>> ' + JSON.stringify(revEl));
persistSingleItemPromise(revEl).then(function (result) {
responseDataArray.push(result);
console.log(JSON.stringify(responseDataArray));
});
}
console.log((responseDataArray));
res.send(responseDataArray);
});
Проблема в for loop
.Это задерживает, и я возвращаю только пустой массив responseDataArray = []
, поскольку он возвращается до завершения итерации.
Я пытался использовать Promose persistSingleItemPromise
:
let persistSingleItemPromise = function (revData) {
return new Promise(function (resolve, reject) {
revPersSaveRevEntity.revPersSaveRevEntity(revData, function (result) {
resolve(result);
});
});
};
Это не помогает.Как я могу решить это?
Спасибо всем заранее.