Javascript 获取节点中的DNS MX记录
我想获取主机名www.example.com的MX记录。节点已为其设置了函数Javascript 获取节点中的DNS MX记录,javascript,node.js,dns,Javascript,Node.js,Dns,我想获取主机名www.example.com的MX记录。节点已为其设置了函数 dns.resolveMx(domain, callback) 但我不想回电话。我想要像同步呼叫这样的东西。e、 g var records = dns.resolveMx(domain); 这可能吗 (注意:-我在节点文档中找到了该函数。link:-)是否有任何原因要用网络操作阻止应用程序?DNS解析器由库在C级别调用,该库在设计上是异步的。因此,不能使其同步。这是DNS模块中删除了不需要的部分的代码: var
dns.resolveMx(domain, callback)
但我不想回电话。我想要像同步呼叫这样的东西。e、 g
var records = dns.resolveMx(domain);
这可能吗
(注意:-我在节点文档中找到了该函数。link:-)是否有任何原因要用网络操作阻止应用程序?DNS解析器由库在C级别调用,该库在设计上是异步的。因此,不能使其同步。这是DNS模块中删除了不需要的部分的代码:
var cares = process.binding('cares_wrap');
function resolver(bindingName) {
var binding = cares[bindingName];
return function query(name, callback) {
callback = makeAsync(callback);
var req = {
bindingName: bindingName,
callback: callback,
oncomplete: onresolve
};
var err = binding(req, name);
if (err) throw errnoException(err, bindingName);
callback.immediately = true;
return req;
}
}
var resolveMap = {};
exports.resolveMx = resolveMap.MX = resolver('queryMx');
首先感谢您的详细解释。是的,我想执行同步请求,比如PHP函数dns_get_record()。但是你有什么原因吗?将所有内容放入函数回调比为DNS请求“暂停”整个应用程序更有效。您的观点是正确的。但您知道我在为Node移植一个PHP库。假设它是这样工作的,节点不同步地做任何事情。你必须习惯一种全新的思维方式。