gpt4 book ai didi

javascript - NodeJS 返回 http.request

转载 作者:搜寻专家 更新时间:2023-10-31 23:06:38 26 4
gpt4 key购买 nike

你好,现在我知道 NodeJS 是异步的(老实说,我仍在努力了解这一点)。

我目前面临的问题是我试图执行 http.request 来接收一些 JSON 数据。这很好,但我需要的是将这些数据返回给一个变量。我相信我需要做一个回调函数? (根据我对此事的了解)

我目前拥有的代码:

var http = require('http');
pCLatLng = '';

function postCodeCheck() {
var pCode = {
host: 'geo.jamiethompson.co.uk',
path: "/" + 'SW1A2AA' + ".json"
};

http.request(pCode).on('response', function(response) {
var data = '';
response.on("data", function (chunk) {
data += chunk;
});
response.on('end', function () {
pCJSON = JSON.parse(data);
pCLatLng = pCJSON;
});
}).end();
}

console.log(pCLatLng);

这显然是在输出“undefined”;当返回“hi”或其中的任何内容时,我尝试返回 response.on('end') 而不是 NodeJS 输出有关该站点的信息。如果有人可以提供帮助,我们将不胜感激。

最佳答案

console.log(pCLatLng); 需要在 response.on('end' 回调内部(或在调用的东西内部)。值不是在触发该回调之前可用。

尝试这样的事情:

function postCodeCheck(callback) {
var pCode = {
host: 'geo.jamiethompson.co.uk',
path: "/" + 'SW1A2AA' + ".json"
};

http.request(pCode).on('response', function(response) {
var data = '';
response.on("data", function (chunk) {
data += chunk;
});
response.on('end', function () {
callback(JSON.parse(data));
});
}).end();
}

postCodeCheck(function (pCLatLng)
{
console.log(pCLatLng);
});

关于javascript - NodeJS 返回 http.request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9332856/

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