从多个中识别事件发射器

时间:2014-08-18 15:15:46

标签: node.js

我正在尝试在Node.js中创建多个http请求,每个请求都会收到一个单独的响应。我想要做的是确定哪个事件对应于哪个呼叫:

for (var i=0; i<100; i++) {
    var req = http.request(options, function(response) {
        var str = "";

        response.on('data', function (chunk) {
            console.log(str.length);
        });

        response.on('end', function () {
            console.log("End of response");
        }); 

    }); 

    req.on('error', function(err) {
        console.log(err.message);
    });

    req.end();
}

有没有办法正确识别哪个响应对应每次迭代?我基本上创建了100个响应实例,但它们都发出相同的事件,因此事件发送/处理是全局完成的。基本上,我可以以某种方式绑定iresponse发出的事件吗?

1 个答案:

答案 0 :(得分:0)

@BenFortune是对的,这与闭包有关。原始问题中的示例过于简化,但如果您的结构类似于:

for(var i=0; ... ) {

    function someFunction() {

    }

}

并且你想跟踪函数内部函数外部的东西,然后你应该查看闭包。