gpt4 book ai didi

node.js - NodeJS - 主文件未接收函数内的lookupService的返回

转载 作者:太空宇宙 更新时间:2023-11-04 01:34:45 25 4
gpt4 key购买 nike

所以我有一个名为“myinternet_utils.js”的文件和以下函数:

exports.hasInternet = function () {

require('dns').lookupService('8.8.8.8', 53, function (err, hostname, service) {
return hostname;
});

};

我还有一个名为“server.js”的文件,其中有这段代码:

var ieUtils_ = require('./myinternet_utils.js');

console.log( ieUtils_.hasInternet() );

“console.log”打印“未定义”。

为什么我没有得到函数 hasInternet 的输出?

最佳答案

您使用的函数似乎是异步的。此外,您的函数实际上不会返回任何内容,因此即使它是同步的,您仍然会得到undefined。尝试使用 Promise 来代替:

exports.hasInternet = function () {

return new Promise(function(resolve, reject) {
require('dns').lookupService('8.8.8.8', 53, function (err, hostname, service) {
if(err){
return reject(err);
}
resolve(hostname);
});
});

};

并在主文件中

var ieUtils_ = require('./myinternet_utils.js');

ieUtils_.hasInternet().then(function(result){
console.log(result);
})

关于node.js - NodeJS - 主文件未接收函数内的lookupService的返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54923828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com