Node.js 从多个事件中识别事件发射器
我试图在Node.js中创建多个http请求,每个请求都接收一个单独的响应。我要做的是确定哪个事件对应于哪个调用:Node.js 从多个事件中识别事件发射器,node.js,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
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与响应发出的事件联系起来吗?@BenFortune是对的,这与闭包有关。原始问题中的示例过于简化,但如果您的结构类似于:
for(var i=0; ... ) {
function someFunction() {
}
}
如果您想在函数内部跟踪函数外部的内容,那么您应该查看闭包。可能重复的内容,也许您应该使用类似的内容将处理程序行为附加到每个请求。现在还不清楚你在这里想做什么,因为你提出的每个请求都不同。如果您想捕获i:var _i=i,我应该为每个实例提供一个本地副本。