Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 递归函数中的异步eachseries_Javascript_Node.js_Asynchronous_Async.js - Fatal编程技术网

Javascript 递归函数中的异步eachseries

Javascript 递归函数中的异步eachseries,javascript,node.js,asynchronous,async.js,Javascript,Node.js,Asynchronous,Async.js,我尝试了以下代码段: 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); } e

我尝试了以下代码段:

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个索引的数字)

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


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

这在您的代码中运行良好,if条件下没有回调。 如果需要异步方式,可以使用async.each而不是async.eachSeries

async.eachSeries的区别在于,每次迭代都将等待异步操作完成,然后再开始下一次迭代

  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);

啊,我的错!忘记添加回调。