【发布时间】:2016-04-21 16:49:28
【问题描述】:
我正在使用 express 框架从某些网页中获取链接,并将此链接添加到 Array。我正在使用async 打印最终结果,但是当我打印我的数组时,我得到了对象列表。
整理功能的结果:
Finall: [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Objec
t]
如何迭代这个对象数组? 这是我的代码:
router.route('/send')
.post(function(req, res){
async.series([ function(callback){
var url = req.body.url;
var items = [];
console.log(url);
if(url.length>=1) {
if (isURL(url)) {
console.log('OK');
res.sendStatus(200);
request(url, function(err, resp, body){
$ = cheerio.load(body);
links = $('a.offer-title');
$(links).each(function(i, link){
items[i] = new itemParam($(link).text(),12)
});
callback(false, items);
});
} else {
errorHandling(res, 401,"Invalid url");
}
}else{
errorHandling(res, 401,"Invalid url");
}
}
],
/*
* Collate results
*/
function(err, p) {
console.log("Finall: " + p[0]);
}
);
});
【问题讨论】:
-
呃,你试过循环吗?
-
是的,我尝试使用 for 循环。 ` for (var key in p) { if (p.hasOwnProperty(key)) { console.log(key + " -> " + p[key]); } }`
-
你在这里使用
async.series吗?此外,您应该始终致电callback,而不是立即跳入errorHandling。 -
我是这个话题的新手。我到底应该使用什么?
-
这是一个数组,所以你应该use an array loop。此外,您似乎需要遍历
p[0],而不是p。
标签: javascript arrays node.js express