当console.log(detail) 时,打印出 [ { time: '2015年04月13日22:48 四川在线' } ]
当console.log(detail.time) 时,打印出undefined
为何取不到time?怎么才能取到time呢?谢谢!
var newsList;
var newsDetail;
async.series([
// 获取新闻列表
function(done) {
read.newsList(config.sinaN.url, function(err, list) {
newsList = list;
done(err);
});
},
// 保存新闻列表1
function(done) {
save.newsList(newsList, done);
},
function (done) {
async.eachSeries(newsList, function (n, next) {
read.newsDetail(n.url, function (err, detail) {
console.log(detail);
next(err);
// save.newsDetail(detail.time, next);
// next(err);
});
}, done);
}
read.js中,存储newsDetail
var newsDetail = [];
$('.page-info').each(function() {
var $me = $(this);
var $time = $me.find('.time-source');
var item = {
// content: $me.html().trim(),
time: $time.text().trim()
};
newsDetail.push(item);
});
// 返回结果
callback(null, newsDetail);
题主可以这样打印:
console.log('detail:%o',detail);
然后你就会发现detail这个对象是个数组,第一个元素才是你以为的detail对象,然后就如楼上所说的:
detail[0].time
这样取
改成detail[0].time