foreach中未定义节点js?

Node js undefined in foreach?

您好,我正在使用 node-craigslist 软件包从 craigslist 中抓取列表。我在处理结果时遇到问题。

client
  .search(options, '')
  .then((listings) => {
    listings.forEach((listing) => 
    console.log(listing.title),
    searchResults.title[counter] = listing.title

    );//end of listings foreach
  })//end of then listings

我的问题是 listings.forEach 中只有第一行代码真正起作用。所以在这种情况下,如果我注释掉 searchResults.title,它将打印出列表标题。如果我注释掉 console.log 并只留下 searchResults.title,那一个就可以了。但它们永远不会同时起作用。

我一定是语法错误,试图在 for each 中做不止一件事。

对于您的情况,您应该执行以下操作:

client
  .search(options, '')
  .then((listings) => {
    listings.forEach((listing) => {
      console.log(listing.title);
      searchResults.title[counter] = listing.title;
    });//end of listings foreach
  })//end of then listings

您在 lambda 表达式中忘记了大括号。

请阅读有关箭头函数的移动 here