dns.resolve()、dns.resolve*() 与 dns.reverse()
这些函数的实现与 dns.lookup()
完全不同。
它们不使用 getaddrinfo(3)
,其总是在网络上执行域名系统查询。
此网络通信始终异步完成,不使用 libuv 的线程池。
因此,这些函数不会对发生在 libuv 线程池上的其他处理产生与 dns.lookup()
相同的负面影响。
它们不使用 dns.lookup()
使用的同一组配置文件。
例如,他们不使用来自 /etc/hosts
的配置。
These functions are implemented quite differently than dns.lookup()
. They
do not use getaddrinfo(3)
and they always perform a DNS query on the
network. This network communication is always done asynchronously and does not
use libuv's threadpool.
As a result, these functions cannot have the same negative impact on other
processing that happens on libuv's threadpool that dns.lookup()
can have.
They do not use the same set of configuration files that dns.lookup()
uses. For instance, they do not use the configuration from /etc/hosts
.