1.想用node和cheerio在网络中抓取数据,然后在另一个模块中使用,但是因为是异步获取数据,当前的同步代码都已经执行完毕,获取到的变量或者return都为空,exports也无法导出,除了在处理函数中临时使用或者存储以外,有什么办法能持续使用,或者导出到另一个模块,return.2.`function getTitle(url,i){console.log('正在获取第'+i+'页的内容');http.get(url+i+'.html',res=>{var chunks = [];res.on('data',function(chunk){ chunks.push(chunk);});res.on('end',function(){ var html = iconv.decode(Buffer.concat(chunks),'gb2312'); var $ = cheerio.load(html,{decodeEntities:false}); var asyRes = $('.co_content8 .ulink'); $('.co_content8 .ulink').each(function(index,ele){ var dom = $(ele); titles.push({ title:dom.text() }) }); if (i<2) { getTitle(url,++index); //获取多页数据 }else { // if (titles) { // save(titles); // } //读取完毕后,在这里就卡住了..不知道如何把titles弄出来 }})});}`
添加回答
举报
0/150
提交
取消