我正在尝试找出如何以某种方式嵌套回调。
var alpha = function(callback){
var x = 5;
if(x > 2){
callback();
}else if(x = 10){
callback();
}else{
future();
}
};
var beta = function(callback){
var x = 5;
if(x > 10){
callback();
}
}
alpha(function(){
beta(function(){
// also run future();
});
});
假设我希望 future()
和 beta 的 callback()
是同一件事,或者至少在两者中运行相同的代码。我怎样才能做到这一点?请忽略我的基本 >
示例。
我正在努力让我的代码更加干燥。可以说 beta 在 alpha()
内运行了多次,但 future()
函数已经 catch 了 beta 的回调。
更新
我想避免像这样多余。
var alpha = function(callback){
var x = 5;
if(x > 2){
//---
var x = 5;
if(x > 10){
callback();
}
//---
}else if(x = 10){
//---
var x = 5;
if(x > 10){
callback();
}
//---
}else{
callback();
}
};
最佳答案
您可以在代码中接受 2 个回调函数,也可以定义命名函数(或变量)并在 beta 回调中使用它
var alpha = function(callback, callback2){
var x = 5;
if(x > 2){
callback();
}else if(x = 10){
callback();
}else{
callback2();
}
};
var beta = function(callback){
var x = 5;
if(x > 10){
callback();
}
}
alpha(function(){
beta(function(){
future();
});
}, function future(){
// your code here
});
关于javascript - 嵌套回调 future /现在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13430025/