gpt4 book ai didi

javascript - JS 添加回调来运行下一个函数?

转载 作者:行者123 更新时间:2023-12-02 20:32:36 25 4
gpt4 key购买 nike

如何添加某种回调,以便我可以在 render() 完成后运行进一步的代码?

function next(){
target = max;
render();

//When render complete, do some more
//change values....
//render();

}

function prev(){
target = min;
render();

//When render complete, do some more
}

var timer;

function render(){
timer = setInterval(renderIt, 40);
}

function renderIt(){

if (condition) {
clearInterval(timer);
return;
}

//Do the stuff

}

最佳答案

render将函数引用作为参数。

function next(){ 
target = max;

// pass a function reference to render
render( function() {
//When render complete, do some more
//change values....
alert('moved next!');
} );

}

function prev(){
target = min;
render( function() {
//When render complete, do some more
alert('moved prev!');
} );

}

var timer;

function render(fn){
// create an anonymous function to wrap your original call
timer = setInterval(function() {
// can't pass fn along to renderIt if undefined
if (typeof fn === 'undefined') { fn = null; }
renderIt(fn);
}, 40);
}

function renderIt(fn){

if (condition) {
clearInterval(timer);

//Do the stuff
if (typeof fn === 'function') {
// invoke the passed method
fn();
}
return;
}
}

您不必为 fn 参数提供 render 匿名函数 - 它可以是您定义的任何函数名称。

关于javascript - JS 添加回调来运行下一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3823142/

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