Asynchronous node.js的最佳控制流模块是什么?

Asynchronous node.js的最佳控制流模块是什么?,asynchronous,node.js,control-flow,Asynchronous,Node.js,Control Flow,我使用了非常好的方法,但是跟踪错误和为控制流传递数据的不同方式有时会导致开发非常困难 我想知道是否有更好的选择,或者目前在生产环境中使用的是什么 谢谢阅读。我也使用异步。为了帮助跟踪错误,建议您命名函数,而不是加载匿名函数: async.series([ function doSomething() {...}, function doSomethingElse() {...}, function finish() {...} ]); 这样,您将在堆栈跟踪中获得更多有用的信息。有时

我使用了非常好的方法,但是跟踪错误和为控制流传递数据的不同方式有时会导致开发非常困难

我想知道是否有更好的选择,或者目前在生产环境中使用的是什么


谢谢阅读。

我也使用异步。为了帮助跟踪错误,建议您命名函数,而不是加载匿名函数:

async.series([
  function doSomething() {...},
  function doSomethingElse() {...},
  function finish() {...}
]);

这样,您将在堆栈跟踪中获得更多有用的信息。

有时很难将所有函数放在一个数组中。当您有一个对象数组,并且想要为每个对象做一些事情时,我使用下面的示例

请阅读以下内容:

我给函数命名,因为它更容易调试(也更容易阅读)

…然而,跟踪错误和控制流传递数据的不同方式有时会导致开发非常困难

我最近创建了一个名为“wait.for”的简单抽象,用于在同步模式下调用异步函数(基于光纤):

使用wait.for,您可以在调用异步函数的同时使用“try/catch”,并保留函数作用域(不需要闭包)。例如:

function inAFiber(param){
  try{
     var data= wait.for(fs.readFile,'someFile'); //async function
     var result = wait.for(doSomethingElse,data,param); //another async function
     otherFunction(result);
  }
  catch(e) {
     //here you catch if some of the "waited.for" 
     // async functions returned "err" in callback
     // or if otherFunction throws
};

参见

中的示例谢谢,这很有帮助。你知道还有其他好的吗?我用过的另一个是非常好的。我认为async有更多的选项,可以更好地适应不同的情况。您具体指的是哪些跟踪错误?优雅。光纤牺牲了一点便携性。但这是我见过的最具可读性的一个,不需要预处理器。干得好!
function inAFiber(param){
  try{
     var data= wait.for(fs.readFile,'someFile'); //async function
     var result = wait.for(doSomethingElse,data,param); //another async function
     otherFunction(result);
  }
  catch(e) {
     //here you catch if some of the "waited.for" 
     // async functions returned "err" in callback
     // or if otherFunction throws
};