我对node.js和sails.js相当陌生,但对javascript不是我有一个简单的函数,它遍历一个abjects数组,验证它们,数组中的每个验证对象都被推入另一个数组,我想传递到我的看法。
if(results){
var items = results.one;
var toReturn = [];
for(var i = 0; i<items.length; i++){
var item = items[i];
Inventory.findOne({primaryKey: item.primaryKey}, function(err, found){
if(err){
res.send("Err reached");
}
else{
//Some validation code
if (validations_failed_condition){
console.log("FAiled validations");
}
else{
console.log("Validations passed, Pushing item");
console.log(item);
toReturn.push(item);
}
}
});
}
res.send(toReturn);
}
即使我的日志向我显示多个项目正在被验证并被推入我的数组 toReturn。发送到视图的数据是一个空数组。
在 node.js 中循环是异步的吗?在 for 循环完成之前是否将数据传递给视图?
我能做些什么来解决这个问题?