您的
url变量没有作用于
for循环,因为Javascript仅支持全局和函数作用域。因此,您需要为
request调用创建一个函数作用域,
url以使用立即函数来捕获循环的每次迭代中的值:
var links = ['http://google.com', 'http://yahoo.com'];for (link in links) { (function(url) { require('request')(url, function() { console.log(url); }); })(links[link]);}顺便说一句,
require在循环中间嵌入a 不是一个好习惯。它可能应该重写为:
var request = require('request');var links = ['http://google.com', 'http://yahoo.com'];for (link in links) { (function(url) { request(url, function() { console.log(url); }); })(links[link]);}


