0

我对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 循环完成之前是否将数据传递给视图?

我能做些什么来解决这个问题?

4

0 回答 0