了解Asycn每个

我有一个函数调用async.each通过一个数组。 在asycn.each里面有一个函数调用async.each通过第一个函数传递的数据。

var f1 = function(){ var b = [o1,o2,o3,o4,o5,o6....]; async.forEach(b, function(obj, cb){ f2(obj, function(){ cb(); }) }, function(err){ }) }; var f2 = function(obj, c2){ async.forEach(obj, function(obj2,cb){ // some db operation return dbData; cb(); }, function(){ // do asynch operation on dbData and update value in db }) }; 

现在,我的疑问是,当f2完成对在f1中传递的第一个项目执行async.forEach时,将调用callback函数,而callback函数使用在f2中传递的obj执行一些操作。 但是因为这是并行执行的,所以当第一个项目的callback被调用时,它是否会有相同的obj对象继续运行,或者obj的值可能与其他asych.each任务在同一个函数上被调用的值不同。

首先你的函数f1被执行,当它完成后,函数f2被执行。

 var f1 = function(){ var b = [o1,o2,o3,o4,o5,o6....]; async.forEach(b, function(obj, cb){ f2(obj, function(){ cb(); }) }, function(err){ }) }; async.eachSeries(f1, f2, function (err) { if (err) { res.json({status: 0, msg: "OOPS! How is this possible?"}); } res.json("Series Processing Done"); }) var f2 = function(obj, c2){ async.forEach(obj, function(obj2,cb){ // some db operation return dbData; cb(); }, function(){ // do asynch operation on dbData and update value in db })