【发布时间】:2012-08-27 18:30:43
【问题描述】:
我只是想连接一个包含 DNS 解析结果域的数组。
这是我的代码:
var ipList = [];
for(var j=0; j < addressList.length; j++) {
dns.resolve(addressList[j], function(error, ipRange) {
if(error !== null) {
console.log('The DNS request failed.');
}
console.log('--1--');
console.log(ipRange);
console.log('--2--');
ipList.concat(ipRange);
});
}
console.log(ipList);
我得到的结果是这样的:
[]
--1--
[ '173.194.35.144',
'173.194.35.145',
'173.194.35.146',
'173.194.35.147',
'173.194.35.148' ]
--2--
看起来 DNS 解析响应在 concat() 之后到达,就像它被延迟了一样。
这意味着 ipList 是一个空数组。
谁能帮我解决这个问题? 提前致谢!
【问题讨论】:
标签: node.js asynchronous dns callback