gpt4 book ai didi

javascript - 在不链接回调函数的情况下从 Node JS GET 请求访问数据

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

我使用 node.js 只是为了运行计划任务和使用 GET 请求。我将粘贴一些代码来显示我想要执行的操作,但由于明显的原因它不起作用:

const http = require("http");
const request = require("request");

http.createServer(function (req, res) {
res.writeHead(200, {"Content-Type": "text/html"});
res.write("Hello, World!");
let a = getRequest();
console.log(a);
res.end();
}).listen(8080);

function getRequest() {
let b;
request("http://www.google.com", function(err, res, body) {
b = body;
})
return b;
}

因此,由于请求是异步的,正文中的 b 不起作用,这使得 b 在最终打印时未定义。我知道应该使用这些回调函数的方式是保持回调函数的链接,因为这是唯一可以访问 body 内容的地方。但是,我不想继续链接功能,因为它会完全破坏程序的结构。我想将所有 Node 服务器命令保留在 http.createServer block 中。我不想将它们放在从回调函数内部调用的函数中。在此示例中,异步进程实际上没有任何意义,因为无论如何只有 1 个获取请求,并且在收到它之前无法显示在 console.log 中。

我只需要一种简单的方法来使用 get 请求抓取数据。什么是完美的是,如果我有一些功能,我可以提供一堆链接,它从它们获取原始 html,然后它等待它们全部完成,以便我可以处理所有一次的数据。

如何在 Node.js 中实现这样的功能?

最佳答案

您可以使用此模块做到这一点:sync-request .使用此模块,您将能够从您的 NodeJS 代码发出同步 Web 请求。

关于javascript - 在不链接回调函数的情况下从 Node JS GET 请求访问数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52021964/

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