Heim > Fragen und Antworten > Hauptteil
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()啊??
如果可以的话,能说一下原理是什么吗
阿神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 = ''
})
})