我試圖從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