gpt4 book ai didi

javascript - AngularJS。调用 angular-ui 模态时清除 $timeout

转载 作者:行者123 更新时间:2023-12-02 21:46:38 25 4
gpt4 key购买 nike

我在模态 Controller 中有几个 $timeout 表达式

App.controller('ModalCtrl', function ($scope, $timeout) {
for (var i = 0; i < 10; i++) {
(function () {
var timer = $timeout(function () {
console.log('timer')
}, 1000);
})()
}
})

调用模式时我需要清除所有计时器:

App.controller('MainCtrl', function ($scope, $modal, $timeout) {
$scope.showMap = function () {
var modal = $modal.open({
templateUrl: 'modalap.html',
controller: 'modalCtrl',
})

modal.result.then(function () { //fires when modal is resolving
}, function () { //fires when modal is invoking
});
} })

我怎样才能做到这一点?

PS 抱歉,代码格式错误。我不知道为什么,但我无法更好地格式化它。我重复了代码here :

最佳答案

$timeout 服务返回一个 Promise 对象,可用于取消超时。

// Start a timeout
var promise = $timeout(function() {}, 1000);

// Stop the pending timeout
$timeout.cancel(promise);

要取消所有待处理的超时,您需要维护一个 promise 列表,并在打开模式时取消完整列表。

关于javascript - AngularJS。调用 angular-ui 模态时清除 $timeout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21018796/

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