async.each没有运行回调函数

时间:2017-02-12 07:27:02

标签: javascript node.js asynchronous node-request node-async

我将数据从reddit api推送到数组后尝试做某事,但回调函数根本不起作用。当您看到代码时,它应该打印Callback function works!,但它没有。有什么想法吗?

let optForReddit = {
  method: 'GET',
  uri: 'https://www.reddit.com/domain/eroshare.com/new.json',
  json: true
}

  rp(optForReddit)
    .then(function(redditJSON) {
      let posts = redditJSON.data.children;
      let len = posts.length;
      let eroJson = [];
      async.each(posts, function(item, callback) {
          if (isVideo(item.data.url)) {
            eroJson.push(getAlbumId(item.data.url));
          }
      },    
      function(err) {
          console.log("Callback function works");
          if(err) console.log(err);
      });
    })
    .catch(function(err) {
      console.log(err);
    })

1 个答案:

答案 0 :(得分:1)

Col1 Col2 Col3
----------------
2222, str1, str2
5555, str3, str4
6666, str5, str6

这是因为您每次都没有调用回调函数。调用时回调告诉异步函数我完成当前执行并调用下一个迭代。你从未调用过回调()。