gpt4 book ai didi

javascript - $timeout.cancel() 没有取消超时

转载 作者:行者123 更新时间:2023-11-30 15:02:20 25 4
gpt4 key购买 nike

我正在运行 3 分钟的超时,在该超时期间,我在特定的持续时间内运行另一个函数。但是当我试图取消超时时,它仍在运行并且其中的函数仍在执行。这是我的代码

$scope.time = 180000;
var timer = function() {
if ($scope.time > 0) {
$scope.time -= 1000;
var durations = [170000, 150000, 130000, 110000, 90000, 70000, 50000, 30000, 10000];
if (durations.includes($scope.time)) {
dataService.acceptNotify(payload).then(function(response) {
console.log(response);
if (response.data.success === true) {
$mdToast.showSimple(response.data.msg);
$mdDialog.hide();
$timeout.cancel(timeout);
}
})
}
$timeout(timer, 1000);
} else {
$mdDialog.hide();
}
}
var timeout = $timeout(timer, 1000);

最佳答案

您只是没有将计时器实例捕获到您的变量中,因此没有取消它。

尝试更改代码中的这一行:

$timeout(timer, 1000);

timeout = $timeout(timer, 1000);

关于javascript - $timeout.cancel() 没有取消超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46323514/

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