Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取节点中的DNS MX记录_Javascript_Node.js_Dns - Fatal编程技术网

Javascript 获取节点中的DNS 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

我想获取主机名www.example.com的MX记录。节点已为其设置了函数

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库。假设它是这样工作的,节点不同步地做任何事情。你必须习惯一种全新的思维方式。