gpt4 book ai didi

html - Node.js 返回 html 作为变量

转载 作者:太空宇宙 更新时间:2023-11-04 00:38:43 24 4
gpt4 key购买 nike

我正在使用 Node.js 设置一个网络抓取工具,并希望从 url 中获取一些 html 并将其保存为变量。接下来是精简版本。

var request = require('request');
var get_html = function(){
var url = "http://www.google.com";
var html = '';
request.get(url,function(error, response, body){
html += body;
});
return html;
};
console.log(get_html());

函数似乎在 request 可以将 html 连接到变量 html 之前返回。据我所知, request 只允许我在回调函数中操作 html 或将其通过管道传输到文件。有没有办法将其作为变量返回?

最佳答案

request.get是异步的,它会在回调函数中返回结果。

您需要像这样调整您的代码

var request = require('request');

// get_html receive callback to process result
var get_html = function(callback) {
var url = "http://www.google.com";
var html = '';
request.get(url,function(error, response, body){
return callback(body); // call callback and parse result to it
});
};

// call get_html function
// and log html result here
get_html(function (body) { console.log(body); });

带有大量函数回调的代码看起来并不美观。我更喜欢 promise 而不是回调。如果您想使用 Promise,请尝试“request-promise”lib。

关于html - Node.js 返回 html 作为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37800561/

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