javascript - 嵌套回调 future /现在

标签 javascript callback

我正在尝试找出如何以某种方式嵌套回调。

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/

相关文章:

javascript - 了解 jQuery 的 jqXHR

javascript - Angular4 的 http 请求问题

javascript - Chrome 插件消息传递回调未定义

c - 如何动态分配函数代码?

javascript - javascript中的水果忍者类游戏

javascript - 将来自对 REST API 的重复请求的最终 json 写入文件

javascript - 获取所有输入框并取其属性值

javascript - STRIPE.JS 错误

javascript - 在 .filter() 中,如何让回调函数调用另一个函数?

javascript - 多个异步回调 javascript 如何解决这个问题?