在foreach中未定义节点js?

时间:2018-04-10 18:40:51

标签: javascript node.js craigslist

您好我正在使用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

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

我必须在这个问题上尝试在for each中执行多个操作时出错。

1 个答案:

答案 0 :(得分:2)

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

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的动态。