我正在进行一些Web抓取,并且在将Javascript变量传递到for循环时遇到问题。我创建了obj
orray,将包含其他详细信息的多个数组传递给它,然后尝试在for循环中访问它。我在for循环中得到了cannot read property 'id' of undefined
,但是我可以事先访问它。如何在for循环中访问.id和.isoDate?
let Parser = require('rss-parser');
let parser = new Parser();
var read = require('read-art');
const { Pool, Client} = require('pg');
const pool = new Pool({});
var obj = [];
(async () => {
let feed = await parser.parseURL('https://www.someurl.com/rss/index.xml');
feed.items.forEach(item => {
obj.push(item);
});
for (var i = 0, len = obj.length; i < len; i++) {
read(obj[i].id, function(err, art, options, resp) { //this obj[i].id works just fine!
if (err) {
throw err;
}
var title = art.title,
content = art.content;
articleid = obj[i].id, //id stored in obj, Doesn't Work!
date = obj[i].isoDate, //date stored in obj, Doesn't Work!
...
其余的代码无关。