gpt4 book ai didi

javascript - JavaScript 中的函数链

转载 作者:行者123 更新时间:2023-11-30 07:26:52 27 4
gpt4 key购买 nike

在 JavaScript 中,我们以准并行方式触发函数:

window.onload=function(){
document.getElementById("test").addEventListener('click', function1(), false);
//consider it takes 3 seconds to be completed
document.getElementById("test").addEventListener('click', function2(), false);
}

function1() 完全执行后,我们如何触发 function2()

在 jQuery 中,我们可以链接一系列函数(例如):

$(this).fadeIn(3000).fadeOut(2000);

如何在纯 JavaScript 中对函数进行这种更改?

编辑:为了回应负面评论和投票,我提供了这个例子:

function delay(time, func){
setTimeout(func,time);
}

delay(2000,function(){alert('Function 1');});
delay(1000,function(){alert('Function 2');});

在此示例中,您将首先看到“功能 2”的警报。

最佳答案

如果 function1 是异步的,您将不得不修改它,以便调用者可以传递一个回调,该回调将在它完成后执行,例如 jQuery 的 ajax方法提供回调,例如成功、错误、...:

window.onload = function() {
function1(function() {
// the callback is executed once function1 completes so
// we can now invoke function 2
function2();
});
};

顺便说一句,可以用更简洁的方式写成:

window.onload = function() {
function1(function2);
};

关于javascript - JavaScript 中的函数链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11272758/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com