举个例子(我根本不是问如何取消/杀死一个 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% 确定您的应用程序将显示什么非常重要。
谢谢 !