Pan*_*rma 1 javascript node.js
Response.json 应在 foreach 循环完成执行后执行
var todoarr = (req.body.data) ? req.body.data : undefined
todoarr.forEach(function(element) {
if(element.done == true) {
TodoService.removeTodo(element, function(success) {
});
}
});
res.json("success");Run Code Online (Sandbox Code Playgroud)
你可以尝试使用 async.js http://caolan.github.io/async/。
each方法http://caolan.github.io/async/docs.html#each
或者您可以尝试使用Promise.all.
例如:
let promiseArr = [];
todoarr.forEach(function(element) {
if(element.done == true) {
promiseArr.push(somePromiseMethod(element));
}
});
//now execute promise all
Promise.all(promiseArr)
.then((result) => res.send("success"))
.catch((err) => res.send(err));
Run Code Online (Sandbox Code Playgroud)
更多信息在这里。https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise/all
一些承诺示例:
function somePromiseMethod(element) {
return new Promise((resolve,reject) => {
TodoService.removeTodo(element, function(success) {
resolve();
});
});
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
4389 次 |
| 最近记录: |