0
我使用Async和Cheerio發生問題。與Cheerio異步映射
我的代碼:
var request = require('request'),
cheerio = require('cheerio'),
_ = require('lodash'),
sitesJson = require('./websites.json'),
Sequelize = require('sequelize'),
asyncFn = require('async');
asyncFn.map(sitesJson.sites, function(site) {
request(site.url, function (error, response, body) {
$ = cheerio.load(body);
$(site.eventsQuery).each(function() {
var event = {
title : eval(site.titleQuery),
description : eval(site.descriptionQuery),
thumbnail : eval(site.thumbnailQuery),
lat : eval(site.latQuery),
lng : eval(site.lngQuery)
};
console.log(event); // not null
return event;
});
});
}, function(err, results) {
console.log(results); // null
});
問題:我是不是能夠得到的事件......而在map
功能的事件對象不爲空。
我有很多問題。但最緊迫的是爲什麼地獄是'eval()'呢? –
這不是主要問題,你可以看到'console.log(event)'也在工作。 – tonymx227