gpt4 book ai didi

javascript - 如何从 Node.js 中的函数返回状态码

转载 作者:行者123 更新时间:2023-11-30 07:01:12 26 4
gpt4 key购买 nike

我有这样的功能:

function getStatusCode(site){
var options = {
host: "127.0.0.1",
port: 8000,
path: site,
headers: {
Host: site
}
};

var status;

http.get(options, function(response) {
status=response.statusCode;
});
return status;
}

如何只在 http.get 完成工作时返回状态或如果超时(例如 10 秒)返回 null?

最佳答案

node.js 背后的整个思想是它的异步特性。您试图做的是通过尝试使其同步来违反其根本的设计模式。

由于 get 方法的异步特性,您不能这样做。您只能在回调函数内操作状态代码。所以你的 getStatusCode 不需要返回任何东西。您可以让它接受一个附加参数,该参数将表示在结果可用时调用的回调:

function getStatusCode(site, callback) {
var options = {
host: "127.0.0.1",
port: 8000,
path: site,
headers: {
Host: site
}
};

http.get(options, function(response) {
callback(response.statusCode);
});
}

然后:

getStatusCode('http://...', function(statusCode) {
alert(statusCode);
});

关于javascript - 如何从 Node.js 中的函数返回状态码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8208887/

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