javascript 回调退出关闭

javascript closure with callback exit

我确定我遗漏了一些明显的东西,因为它在 javascript 世界已经有一段时间了,但我的搜索没有产生任何结果,只有关于闭包基础知识的博客和导师。所以,我有一个接受回调的函数,它执行另一个也接受回调的函数,它永远不会完成执行,只是 returns。例如

function first(y,z,callback){}
function second(x,y,callback){}

所以点击事件。

first(1,2,function(){
    second(1,2,function(){ 
      //do something....
    })//exits after exec.
    alert('this never get fired');
})

如何防止第二个函数的回调退出并允许执行块中的其余代码?任何提示或提示将不胜感激。谢谢

应该更改 "function first(y,z,function(){})" 以接受可以在函数体中调用 back/execute 的函数参数,如下所示:

function first(y,z,fn){fn();}
function second(x,y,fn){fn();}
var btn = document.getElementsByTagName('button')[0];
btn.addEventListener('click', function () {
    first(1,2,function(){
        second(1,2,function(){ 
          //do something....
        })//exits after exec.
        alert('this never get fired');
    });
});