使用节点在正确的时间获取结果

时间:2014-10-12 07:16:42

标签: node.js asynchronous callback

我是node.js的新手,我接受了一些教程。

我不知道如何在函数结束时调用数组“结果”。

app.get('/api/email/check/:email',function (request,response){
    var email = request.params['email'];
    var result = Array();
    for (var i = 0; i < 2; i++) {
        existence.check(email, function(err,res){
            result[i]=res; console.log({"Result":res});
        });

    };
    response.send(result); // Problem is that i get: [] 
});

我得到了日志,但结果是一个空数组,因为它在函数结束前被调用。有一个很好的方法来解决这个问题吗?不计算“我”。

1 个答案:

答案 0 :(得分:0)

你可以把

response.send(结果);

出于for循环。

因为response.send()是异步方法所以在for循环结束之前,响应已经结束。