如何将 DNS 输出存储在 nodejs 中的变量中

用户12069108

如何将 dns.lookup 的返回值存储在变量中?如果我将它存储在一个数组中,它会显示为空白。

以下是我正在处理的代码:

    const dns = require('dns');
    class Network
    {
        search(host)
        {
            let options = {
                hints: dns.ADDRCONFIG | dns.V4MAPPED,
                all: true,
                verbatim: true
           }

           let addr = [];
           dns.lookup(host, options, (error, address) =>
               {
                   if(error)
                   {
                       console.log("Could not resolve %s\n", host);
                       console.log(error);
                   }
                   address.forEach(ip => {
                       addr.push({
                           address: ip.address,
                           family: ip.family
                       });
                   });
               });
           console.log(addr);
           return addr;
       }
   }   

   const network = new Network();
   let output = network.search("www.google.com");
   console.log(output);

代码的输出为空白即 []

请提出补救措施。

谢谢

特里·伦诺克斯

我建议使用async/await语法以及非常有用的util.promisify函数。

这为我们提供了更紧凑的代码,它还允许您以与同步代码非常相似的方式编写代码。

然后我们将使用一些解构来仅选择我们感兴趣的地址对象中的属性。

const dns = require('dns');
const promisify = require('util').promisify;

class Network
{
    async search(host)
    {
        let options = {
            hints: dns.ADDRCONFIG | dns.VMAPPED,
            all: true,
            verbatim: true
        }

        let address = await promisify(dns.lookup)(host, options);       
        return address.map( ({address, family}) => {
            return { address, family };
        });
    }
}   

async function testSearch() {
    const network = new Network();
    let output = await network.search("www.google.com");
    console.log(output);
}

testSearch();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将查询的输出存储在HIVE中的变量中

来自分类Linux

如何将grep输出中的值存储在变量中

来自分类Dev

如何将“ bc”的输出存储到变量中?

来自分类Dev

如何将Shell脚本的输出存储到变量中

来自分类Dev

如何将bash命令的输出存储在变量中?

来自分类Linux

如何将git命令的输出存储在变量中?

来自分类Dev

如何将XMLHttpRequest的输出存储在全局变量中

来自分类Dev

如何将输出存储在向量中?

来自分类Dev

如何将文件从S3存储桶添加到AWS CodePipeline中的输出工件?(NodeJS)

来自分类Mysql

NodeJS中的存储过程输出

来自分类Dev

如何将存储过程的输出存储在表中

来自分类Dev

如何将JSON存储在变量中

来自分类Dev

如何将movieID存储在变量中

来自分类Dev

如何将变量存储在文件中?

来自分类Dev

在 nodejs 中如何进行 DNS 查找

来自分类Dev

将 redis hget 值存储到 nodejs 中的变量中

来自分类Linux

如何将Linux命令输出存储到puppet中的变量中

来自分类Dev

如何将 cut -c 命令的输出存储到 shell 脚本中的变量中

来自分类Dev

SQL Server中如何将存储过程的输出返回到字符串变量中

来自分类Dev

如何将 googleMapsClient 的输出存储到节点 js 代码中的变量中?

来自分类Dev

如何将 shell 命令输出存储到 python 中的变量中?

来自分类Dev

将命令的输出存储在UNIX的变量中

来自分类Dev

将文本输出存储在变量中(bash)

来自分类Dev

将命令的输出存储在变量中

来自分类Dev

将ftp命令输出存储在变量中

来自分类Dev

无法将jq的输出存储在变量中

来自分类Dev

将每个输出存储到变量中

来自分类Dev

将评估输出存储在变量中

来自分类Dev

Python:将多行输出存储在变量中

Related 相关文章

热门标签

归档