代码之家  ›  专栏  ›  技术社区  ›  Shrabanee

在递归函数内异步每个序列

  •  1
  • Shrabanee  · 技术社区  · 6 年前

    我尝试了以下代码段:

    var arrVal = [[1,2],[[2,3],[4,5]],3,4];
    var async = require('async');
    
    var recurse = function(arr , callback) {
    async.eachSeries(arr, function(eachVal, callback) { 
        if(typeof eachVal == "object") {
            recurse(eachVal);
        }
        else {
            console.log(eachVal);
            callback(null);
        }
    }, callback);};
    
    recurse(arrVal);
    

    希望打印中存在的所有数字 arrVal 数组,但我只得到1,2(数组第0个索引的数目)。

    我做错了什么? 有人能用更好的方法指导我实现我想要的目标吗?

    注意:我希望异步执行此操作

    1 回复  |  直到 6 年前
        1
  •  2
  •   Senthur Deva    6 年前

    async.each

      var arrVal = [[1,2],[[2,3],[4,5]],3,4];
      var async = require('async');
    
      var recurse = function(arr , callback) {
      async.eachSeries(arr, function(eachVal, each_cb) { 
      if(typeof eachVal === "object") {
          recurse(eachVal);
          each_cb()
      }
      else {
          console.log(eachVal);
    
          each_cb(null);
      }
    }, callback);};
    
    recurse(arrVal);