async.each 没有 运行 回调函数

async.each doesn't run callback function

我试图在将数据从 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);
    })
async.each(posts, function(item, callback) {
      if (isVideo(item.data.url)) {
        eroJson.push(getAlbumId(item.data.url));
      }
      callback();  // this callback is for informing that i am done processing one item in array.
  },    
  function(err) {
      //this function will be invoked when the callback() in the above body was called maximum time(e.g posts.length times)
      console.log("Callback function works");
      if(err) console.log(err);
  });

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