const dns=require('dns')
const dnslookup=(address)=>{
var a;
dns.resolve4(
address,
(err,addresses)=>{a=addresses}
)
return a
}
console.log(dnslookup('google.com'))
我想在调用dnslookup函数后得到addresses数组的值,传递给变量a。为何得到的结果总是undefined?
javascript@linux:~/test$ node dnslookup.js
undefined
因为
dns.reolve4
是个异步方法,return a
的时候,它的callback还没有被执行,所以a
还没有被赋值