可能重复:
延迟到方法链中的下一个函数
有4个功能...
function fn1()
{
setTimeout(function()
{
$("#div_result_area").append('Calling from function 1<br/>');
},5000);
}
function fn2()
{
setTimeout(function()
{
$("#div_result_area").append('Calling from function 2<br/>');
},4000);
}
function fn3()
{
setTimeout(function()
{
$("#div_result_area").append('Calling from function 3<br/>');
},3000);
}
function fn4()
{
setTimeout(function()
{
$("#div_result_area").append('Calling from function 4<br/>');
},1000);
}
现在,当我在按钮单击事件中一一调用这些时,它不起作用。按钮单击事件 -
$("#cmd_sync_tally").click(function(event){
event.preventDefault();
fn1();
fn2();
fn3();
fn4();
});
结果应该像第一个函数 1 执行并写入值,然后是函数 2,依此类推。
Calling from function 4
Calling from function 3
Calling from function 2
Calling from function 1
我想知道,如何使这些调用顺序,以便函数一个接一个地执行。