从 Request.js 请求方法返回结果? [英] Return results from Request.js request method?

查看:25
本文介绍了从 Request.js 请求方法返回结果?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

var request = require('request');varcheerio = require('cheerio');请求(网址,功能(错误,响应,html){if (!error && response.statusCode == 200) {var $ =cheerio.load(html);var link = $('.barbar li a');var Url = link.attr('href');var Title = link.find('span').first().text();var 结果 = [Url, Title];返回结果;}});控制台日志(结果);

<块引用><块引用>

结果未定义...

我想使用结果向 HTML 页面添加超链接,但我不知道如何访问结果/在回调之外返回它们.我看过其他帖子,但它们都使用其他库,并且通常只有一个在范围内使用 console.log 的示例.

解决方案

var request = require('request');varcheerio = require('cheerio');功能 doYourThing(回调){请求(网址,功能(错误,响应,html){如果(错误){ 返回回调(错误)};if (!error && response.statusCode == 200) {var $ =cheerio.load(html);var link = $('.barbar li a');var Url = link.attr('href');var Title = link.find('span').first().text();var 结果 = [Url, Title];回调(空,结果);}});函数主(){doYourThing(函数(错误,结果){控制台日志(错误,结果);});};主要的();

var request = require('request');
var cheerio = require('cheerio');


    request(url, function (error, response, html) {
        if (!error && response.statusCode == 200) {
            var $ = cheerio.load(html);


            var link = $('.barbar li a');
            var Url = link.attr('href');
            var Title = link.find('span').first().text();
            var results = [Url, Title];


            return results;
        } 
    });

console.log(results);

results is undefined...

I want to use the results to add a hyperlink to an HTML page, but I don't know how to access the results/ return them outside of the callback. I've seen other posts but they all use other libraries and usually only have an example using console.log within the scope.

解决方案

var request = require('request');
var cheerio = require('cheerio');

function doYourThing(callback){
  request(url, function (error, response, html) {
    if(error){ return callback(error) };
    if (!error && response.statusCode == 200) {
      var $ = cheerio.load(html);
      var link = $('.barbar li a');
      var Url = link.attr('href');
      var Title = link.find('span').first().text();
      var results = [Url, Title];
      callback(null, results);
    } 
  });

function main(){
  doYourThing(function(err, results){
    console.log(err, results);
  });
};

main();

这篇关于从 Request.js 请求方法返回结果?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆