Home  >  Q&A  >  body text

javascript - nodejs res.send()回调函数中的数据

a()函数接受一个url,能够获取html源码
b()函数接受返回的源码,然后处理加工,返回一个obj
所以,b()直接写在a()函数的res.on('end',function(){return b(html)})里面

所以实际的代码是这样的

//爬取到的html源码
var obj=null

//b函数处理爬取的源码然后处理返回一个结果
var newHtml=''
app.post('/',function(req,res){
    var obj=a(req.body.url)
    
    res.send()    
    })
    })

那我怎么才能拿到这个obj,res.send()啊??

如果可以的话,能说一下原理是什么吗

PHPzPHPz2771 days ago596

reply all(1)I'll reply

  • 阿神

    阿神2017-04-11 12:13:23

    这里是异步编程,所以在end函数里返回处理的结果

    //爬取到的html源码
    var html = ''
    
    //b函数处理爬取的源码然后处理返回一个结果
    var newHtml = ''
    app.post('/', function(req, resp) {
        http.get(req.body.url, function(res) {
            //巴拉巴拉。。这里获取了整个html的源码 html
            res.on('end', function() {
                //对爬取的结果进行处理
                var newHtml = b(html)
                resp.send(newHtml)//等处理完了再发送
            })
    
            //res.send(newHtml)//异步,这里发送时,newHTML = ''
        })
    })

    reply
    0
  • Cancelreply