gpt4 book ai didi

javascript - JavaScript中如何在一定时间后停止执行函数

转载 作者:行者123 更新时间:2023-11-28 06:27:03 26 4
gpt4 key购买 nike

function avoidAfterTime() {
var startTime = new Date().getTime();
var interval = setInterval(function () {
if (new Date().getTime() - startTime > 3000) {
clearInterval(interval);
console.log("more than 2 sec")
return;
}
longWorking();
}, 2000);
}

avoidAfterTime();

function longWorking(){
var t;
for (i = 0; i < 1e10; i++) t = i;
console.log(t);
}

你好。我对 JS 很陌生。但我需要停止运行某些函数(这里是 longWorking),该函数可以执行几秒钟或很长时间。我想中止该功能,以防它花费太长时间。我想我知道如何使用其他编程语言中的线程来实现它。但我不知道如何用 JS 来实现它。我是这样想的(上图)...但是不行。有人可以帮助我吗?

最佳答案

嗯,这个例子是我起草的。所以它是一个每秒运行一次的函数,如果运行时间超过 6 秒就会停止。所以基本上你可以把你的工作负载放在 doSomething() 函数中,让它每秒工作一次,如果花费太长时间就停止它。或者您可以根据某个值来停止它。这取决于您想用它做什么。我使用模块模式来隔离逻辑和变量。因此您可以将逻辑封装在类似模块的方式中。

(function() {
'use strict';
let timing = 0;

const interval = setInterval(doSomething, 1000);

function doSomething() {
timing++;

if (timing > 5) {
clearInterval(interval);
}

console.log('working');
}
})();

这是您正在寻找的东西吗?

关于javascript - JavaScript中如何在一定时间后停止执行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35039246/

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