私は3分のタイムアウトを実行しています。そのタイムアウトでは、特定のdurationsで別の関数を実行しています。関数はまだ実行されています。これは私のコードです
$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);
あなたのタイムアウトをキャンセルした直後に、参照番号 – dev8080
@ dev8080を保存せずにそれを元に戻します。私はカウントダウンタイマーを作成しました。その$ timeout(timer、1000)を呼び出す必要があります。内部では –
を実行し続けますが、タイムアウトをキャンセルすると、ループ内で開始する変数ではなく、変数 'timeout'内のタイムアウトだけがキャンセルされます。 – dev8080