简体   繁体   中英

How do I export the result of a foreach function?

I used the following code for html parsing.
Of the parsed results, I want to use the 'title' and 'link' outside the code, but an error appears.

I expect the output 'title+link', but the actual output is

console.log(title + link); ReferenceError : title is not defined

How can I export it and use it?

let Parser = require('rss-parser');
let parser = new Parser();
var url = 'url address'

 parser.parseURL(url, function(err, feed) {
  console.log(feed.title);

  feed.items.forEach(function(item) {

    title = item.title;
    link = item.link;
    console.log(title + link);

  });
 });
   console.log(title + link);

You can do below code.Use async.foreach instead of forEach.

let Parser = require('rss-parser');
let parser = new Parser();
var url = 'url address'

parser.parseURL(url, function(err, feed) {
console.log(feed.title);

async.forEach(feed.items(item), function (err, callback){ 
title = item.title;
link = item.link;
console.log(title + link);
}, function(err) {
console.log('iterating done');
});
});
console.log(title + link);

You might need to call JSON.parse() before accessing your feed properties

var obj = JSON.parse(feed);
var title= obj.title;
let Parser = require('rss-parser');
let parser = new Parser();
var url = 'url address'

 parser.parseURL(url, function(err, feed) {
  const list = [];

  feed.items.forEach(function(item) {
    const title = item.title;
    const link = item.link;
    list.push(title + link);
  });

  console.log(list);
 });

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM