我试图从yelp中删除并附加了下面的代码。我在将数据存储到数组中时遇到问题。响应后,阵列推动需要在节点JS中永远存在
这里是我的代码:
...
var id, title, link, neighborhood, address, phone = [];
router.get('/', function(req, res, next) {
var cheerio = require('cheerio');
while (scrapepage) {
var options = {
uri: 'https://www.yelp.co.uk/search?find_desc='+find+'&find_loc='+city+''+'&start='+page,
transform: function (body) {
return cheerio.load(body);
}
};
page += 10;
rp(options)
.then(function ($) {
var json = { id: "", title : "", link : "", neighborhood : "", address : "", phone : ""};
$('.biz-name span').filter(function(){
var data = $(this).text();
console.log(data);
//title.push(data);
title_count++;
});
...
res.send('Check your console!')
})
.catch(function (err) {
// Crawling failed or Cheerio choked...
});
}
});
所以每当我尝试将数据推到阵列,它只是不工作,一直等下去。如果我删除推送,它将调节所有数据。
我也试过每个代替过滤器,但没有运气。还试图把手动放入数组索引,仍然没有工作。我可以知道我在代码中做错了什么吗?
UPDATE
我已经在页面的顶部添加了此。
var id, title, link, neighborhood, address, phone = [];
'title.push' - 但你没有指定什么'title' - 应该不是代码来失败'不能得到财产从未定义的推? – vlaz
我已经将它定义为var title = []; –
'我已经在页面的顶部添加了这个.'但是标题还没有定义。只有'电话'被分配给一个新的数组,所有其他变量只是声明,否则不会被初始化.. – vlaz