【发布时间】:2016-10-05 22:24:27
【问题描述】:
我目前使用 node.js sequalize 从数据库中提取数据,在前端我使用 ajax 请求。所以我发送带有 json 对象的 ajax 请求来编辑数据库。但是,当我尝试编辑数据库时,foor 循环不会等待承诺完成,然后再进行下一次迭代。我尝试将承诺发送到数组并使用 Bluebird 函数 Promise.each 但承诺在发送到数组之前就已执行。我该怎么做才能在当前承诺完成之前暂停 for 循环?
for(var i=0; i<recordsJSON.length; i++)
{
var recordJSON = recordsJSON[i];
Record.nullPayeeId(recordJSON.id).then(function()
{
return Record.getOneRecord(recordJSON.id);
})
.then(function(record)
{
var virtualPayeeId = record.virtualPayeeId;
return VirtualPayee.deletePayee(virtualPayeeId);
})
.then(function()
{
var category = parseInt(recordsJSON[i].category);
var subcategory = parseInt(recordsJSON[i].subcategory);
return VirtualPayee.insertPayee({
payee: recordJSON.payee,
description: recordJSON.description,
categoryId:category,
subcategoryId:subcategory
})
})
}
【问题讨论】:
标签: javascript ajax