我正在尝试在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个响应实例,但它们都发出相同的事件,因此事件发送/处理是全局完成的。基本上,我可以以某种方式绑定i
和response
发出的事件吗?
答案 0 :(得分:0)
@BenFortune是对的,这与闭包有关。原始问题中的示例过于简化,但如果您的结构类似于:
for(var i=0; ... ) {
function someFunction() {
}
}
并且你想跟踪函数内部函数外部的东西,然后你应该查看闭包。