javascript - 如何在 async.eachSeries 回调函数中调用回调函数

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

我尝试在 eachSeries 完成后调用回调函数,但它根本不起作用。它不会打印调用时应该打印的 2 ,但它会在调用第一个函数后打印 4 。有什么想法吗?谢谢!

async.waterfall([
      function(callback) {
        console.log("1");
        let eroJson = [];
        rp(optForReddit).then(function(redditJSON) {
          let posts = redditJSON.data.children;
          async.eachSeries(posts, function(item, callback) {
            if (isVideo(item.data.url)) {
              eroJson.push(getAlbumId(item.data.url));
            }
            callback(); // callback function after eachSeries
          }, function() {
            callback(eroJson); // call next callback
          });
        })
      },
      function(redditJSON, callback) {
        console.log("2");
        callback() // call another function
      }
)],
     function(){
         console.log("Last one");
     }

);

最佳答案

更改回调名称。看来您正在覆盖回调名称

    async.waterfall([
          function(waterfallCallback) {
            console.log("1");
            let eroJson = [];
            rp(optForReddit).then(function(redditJSON) {
              let posts = redditJSON.data.children;
              async.eachSeries(posts, function(item, callback) {
                if (isVideo(item.data.url)) {
                  eroJson.push(getAlbumId(item.data.url));
                }
                callback(); // callback function after eachSeries
              }, function() {
                waterfallCallback(eroJson); // call next callback
              });
            })
          },
          function(redditJSON, waterfallCallback) {
            console.log("2");
            waterfallCallback();
          }
    )], function(){
            console.log("Done executing all waterfall functions");
    });

关于javascript - 如何在 async.eachSeries 回调函数中调用回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42185846/

相关文章:

node.js - Node 异步执行

javascript - 删除属性或构造仅具有所需属性的新对象更快吗?

jQuery 和 AJAX 或服务器发送的事件

c# - 异步模式 - 在从方法返回一些值之前等待事件

javascript - 将两个按钮变成一个(切换)

java - java开发桌面应用UI的现有技术(类似html)

javascript - 如何在 Google 图表中创建自定义轴标签?

javascript - 使用 NodeJS 增加/减少 firebase 实时数据库中的值

c++ - 异步过程调用中的 GetLastError 竞争

JavaScript 到 jQuery 语法构建自定义 CSS 水平菜单