我正在尝试动态添加给定主机名的 IP 地址。

代码片段

// This function will return me ip address of my server 
dns.lookup('testwsserver', function (err, result { 
    hostIP = result; 
    console.log("Inside : "+hostIP); // Log 1 
}); 
 
console.log("Outside : "+hostIP); // Log 2 
 
var options = {  
    host    :   hostIP, 
    port    :   '8080', 
    path    :   null, 
    method  :   'POST', 
}; 
 
console.log(options); // Log 3 

上面的代码只是获取给定主机名的 IP 地址并将其分配给变量“hostIP”,问题是当在循环外部显示或在选项中使用时,我在 hostIP 中得到空值。

输出 -

Outside : null                          // Log 2 
 
{ hostname: null,                      // Log 3 
  port: '8080', 
  path: null, 
  method: 'POST', 
  } 
 
Inside : 192.168.253.18                // Log 1 

根据我的需要,代码应该按顺序执行,首先查找函数应该为hostIP赋值,然后休息执行。

感谢任何帮助!!

请您参考如下方法:

正如您所说,node.js 是异步的,您必须执行以下操作:

// This function will return me ip address of my server 
dns.lookup('testwsserver', function (err, result { 
    hostIP = result; 
    console.log("Inside : "+hostIP); // Log 1 
 
    console.log("Inside1 : "+hostIP); // Log 2 
 
    var options = {  
    host    :   hostIP, 
    port    :   '8080', 
    path    :   null, 
    method  :   'POST', 
    }; 
 
    console.log(options); // Log 3 

});


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!