查看他们的文档http://docs.strongloop.com/display/public/LB/Defining+and+using+roles中的环回代码,我开始尝试理解的是' cb'。我知道这是一种回调,但为什么它到处都是?是否必须对Async.js做任何事情?
答案 0 :(得分:4)
它与节点异步工作的方式有关。它使用“事件循环”将其他i / o函数传递给后台工作线程。当后台工作完成时,事件循环会收到回调。这里有一个很好的讨论:Why is node.js asynchronous?
调用昂贵资源的节点库遵循此模型来获得性能。
回调是一个传递给库函数的函数,该函数在该函数完成其处理时执行。它通常是匿名的。
约定是让这个函数接受一个错误参数作为第一个参数,并将结果作为后续参数。你会在任何地方看到这种模式:
lib.somfunc( 'argument', function(err, res){
if(err)....
});
Async.js有点不同。它是一个库,它提供了各种方法来编排使用回调的异步代码。