gpt4 book ai didi

javascript - 如何在javascript中杀死一个进程?

转载 作者:行者123 更新时间:2023-11-29 22:16:24 26 4
gpt4 key购买 nike

让我们举一个例子(我根本不是在问如何取消/杀死一个setTimeout,我只是用它来表示不同任务的不同处理时间):

<div id="content">
</div>

<p>Which color do you prefer ?</p>
<button id="long" onClick="long_process();">Blue</button>
<button id="short" onClick="short_process();">Red</button>

<script>
function long_process() {
setTimeout(function() {
$('div#content').text('My favorite color is blue');
}, 10000);
}

function short_proccess() {
setTimeout(function() {
$('div#content').text('My favorite color is red');
}, 1000);
}

$('button#long').click();
$('button#short').click();
</script>

关于这个例子,你可能已经知道我要问什么了,如果用户启动一个短处理,我们如何停止长处理操作应该接管它的操作

在这个例子中,如果用户最喜欢的颜色是红色,但是用户点击了错误的(蓝色)按钮,然后点击红色按钮,蓝色将是最后显示的颜色,因为它的过程比较长。

我知道如何使用 pthread 库使用 C/C++ 来管理它,但我不知道如何使用 javascript,在某些情况下,100% 确定您的应用程序将显示什么非常重要。

谢谢!

最佳答案

创建计时器时,setTimeoutsetInterval 返回一个 ID,您可以使用该 ID 来引用该计时器:

var long_timer;

function long_process() {
long_timer = setTimeout(...);
}

当你想停止那个计时器时,将那个 ID 传递给 clearTimeoutclearInterval :

if (long_timer) {
clearTimeout(long_timer);
}

关于javascript - 如何在javascript中杀死一个进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14926641/

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