Javascript 回调函数数组
我在做什么Javascript 回调函数数组,javascript,node.js,asynchronous,callback,Javascript,Node.js,Asynchronous,Callback,我在做什么 function1(function(){ function2(function(){ function3(function(){ function4(); } } } 有更简单的方法吗 miracleFunction([function1,function2,function3,function4]); miracleFunction = function(array){ ??? } 在npm上使
function1(function(){
function2(function(){
function3(function(){
function4();
}
}
}
有更简单的方法吗
miracleFunction([function1,function2,function3,function4]);
miracleFunction = function(array){
???
}
在npm
上使用时,可以使用这样的数组,例如:
var async = require('async');
async.series([function1, function2, function3, function4]);
除了简单地在一系列中运行多个异步函数外,它还具有简化并行运行异步操作、使用异步函数映射数组以及各种其他有用的组合器的功能。看看承诺,它还允许您很好地处理错误
Q特别好,只支持您的用例。此处的直接链接:与其深入研究回调,不如将回调分解为易于理解的函数:
function GetUserData(id, callback) {
// db queries, etc
connection.query('...get user info...', function (err, results) {
connection.query('...get user related whatnot...', function (err, results) {
callback ();
});
});
}
connection.query('...load page data...', function (err, results) {
GetUserData( function () {
res.render('page.ejs', ... );
});
});
您甚至可以将更多使用的函数分解成一个模块,这样代码中就不会有太多的混乱。异步包看起来不错,但对我个人来说,我喜欢看到流程。始终取决于程序员的喜好。通常被称为回调地狱…看看