我是nodeJs的新手。在for循环中,从某个url获取数据后,我得到未定义的数组[i]值。我不知道如何解决这个问题。请帮帮我。为什么我得到for循环的array [i]值是undefined
这里是我的代码
urls =['url1','url2','url3','url4']
for (var i = 0; i < urls.length; i++) {
console.log(urls[i]) // getting value
var opt = {
url :urls[i],
headers: {
'Authorization': 'Bearer '+reply
}
}
request.get(opt,function(error,response,body) {
console.log(urls[i]) // getting undefined
if(!error) {
enrichment_data.push({type:body});
} else {
enrichment_data.push({type:''})
}
})
}
将'var i'更改为'let i'为词法范围。为了理解你的问题,也可以在有问题的位置尝试'console.log(i)'。 –
'urls [i] .url' is undefined –
@PatrickRoberts当然你是对的。我的错误 – hammus