node.js - superagent抓取内容后如何传值?
天蓬老师
天蓬老师 2017-04-17 14:38:50
[Node.js讨论组]
'use strict'
var superagent = require("superagent");
var cheerio = require('cheerio');
var express = require('express');

var app = express();
app.set('view engine', 'ejs');

var htmlContent = '';
app.get('/', function(req, res1) {
    //htmlContent = '';   
    superagent
        .get('http://www.oschina.net/')
        .end(function(err, res) {
            let $ = cheerio.load(res.text, {
                decodeEntities: true
            });
            $('#IndustryNews .p1 a').each((id, element) => {
                let reg = new RegExp("^\/news", "g");
                let reg1 = new RegExp("^\/p", "g");
                let address = $(element).attr('href');
                if (reg.test($(element).attr('href')) || reg1.test($(element).attr('href'))) {
                    address = 'http://www.oschina.net' + $(element).attr('href');
                }
                htmlContent += '' + $(element).text() + '

'; }); res1.render('index', { 'htmlContent': htmlContent, }); }); // res1.render('index', { // 'htmlContent': htmlContent, // }); }); app.listen(80, function() { console.log('Example app listening on port 80!'); });

这段程序是获取 oschina.net 上部分左侧的新闻内容的,具体问题如下:
1.如果superagent写一个函数里,如何将htmlContent作为函数的返回值?
2.如果还像这么样写,回调函数的htmlContent如何赋值到外层的htmlContent?
3.能否将superagent赋值一个变量,然后进行处理?我试过但是赋值后的结果遍历都是一些方法?

小弟初学,多谢各位了

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(1)
怪我咯
var code = function(dosome){
    superagent.end(function(){
        get html
        dosome(html);
    });
}

code(function(html){
    alert(html)
});
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号