节点js(sails.js)用于循环在循环完成之前将数据发送到视图

时间:2014-06-02 19:14:38

标签: javascript node.js asynchronous sails.js sails-mongo

我对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);
}

即使我的日志显示我正在验证多个项目并将其推送到我的数组中以返回。发送到视图的数据是一个空数组。

是否在node.js中进行循环异步?是否在for循环完成之前将数据传递给视图?

我该怎么做才能解决这个问题?

0 个答案:

没有答案