【发布时间】:2016-03-22 04:40:21
【问题描述】:
所以,我有一个名为delayed1 的延迟函数,每次cond1 为真时都会重复,问题是,在delayed1 函数do_something1() 内部的某处被调用,如果cond3 为真,另一个名为delayed2 的延迟函数被调用。 现在的问题是我希望delayed1 等到delayed2 完成(这意味着直到cond2 为假)然后再次恢复,这似乎没有发生。一旦延迟 2 开始,延迟 1 不会等待它完成然后恢复。有没有办法做到这一点?希望我足够清楚......
function delayed2() {
setTimeout(function () {
do_something2();
if ( cond2 ) {
delayed2();
}
}, 1000)
}
function do_something1(){
if ( cond3 ){
delayed2();
}
else {
something_else();
}
}
function delayed1() {
does_something_here();
setTimeout(function () {
do_something1();
if ( cond1 ){
delayed1();
}
}, 1000)
}
【问题讨论】:
-
你们能详细说明一下吗?不好意思,我昨天刚开始学js
-
“希望我说得够清楚了……” 不完全是,在这里解释。 “对不起,我昨天刚开始学习js”,“我的代码比我在示例中写的要复杂得多”?可以创建 stacksn-ps blog.stackoverflow.com/2014/09/… 来演示吗?见stackoverflow.com/help/mcve
-
我昨天开始学习 js,但我知道编程的基础知识 :) 我不确定 stacksn-ps 是否可以工作,因为我正在通过 Tampermonkey 将这段代码用于某个站点。
-
您想每秒重复运行 do_something2 和 do_something_here 和 do_something1 吗?
-
Autocucumber 很烦
标签: javascript jquery function delay