gpt4 book ai didi

javascript - 回调时 Node 调用导出

转载 作者:行者123 更新时间:2023-12-02 15:58:37 25 4
gpt4 key购买 nike

我为没有从基础知识中学习而只是跳进去而感到头疼。

我正在构建一个返回域的 SSL 证书状态的 API。它在 console.log 上工作正常,但 JSON 输出为空,显然是因为导出在 https 请求结束之前执行。

如何将导出合并到response.on(end)函数中?非常感谢!

function getSSL(domain) {

var options = {
host: 'www.'+domain+'.com',
method: 'get',
path: '/'
};

var isAuth = false;

callback = function(response) {

response.on('data', function () {
isAuth = response.socket.authorized;
});

response.on('end', function () {
console.log(isAuth);
});

}

var req = https.request(options, callback).end();
}

exports.findByDomain = function (req, response) {
var id = req.params.id;
sslCheck = getSSL(id);
response.send(sslCheck);
};

最佳答案

是的,response.send(sslCheck);getSSL(id); 有机会完成之前执行。您需要发送回调,以便可以在 getSSL(id); 完成后执行:

function getSSL(domain, callback) {

var options = {
host: 'www.'+domain+'.com',
method: 'get',
path: '/'
};

var isAuth = false;

var httpCallback = function(response) {

response.on('data', function () {
isAuth = response.socket.authorized;
});

response.on('end', function () {
console.log(isAuth);
callback(isAuth);
});

}

var req = https.request(options, httpCallback).end();
}

exports.findByDomain = function (req, response) {
var id = req.params.id;
getSSL(id, function(sslCheck) {
response.send(sslCheck);
});
};

关于javascript - 回调时 Node 调用导出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31386820/

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