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);
啊,我的错!忘记添加回调。