gpt4 book ai didi

javascript - 这个 $interval 有什么问题吗?仅在页面加载时触发

转载 作者:行者123 更新时间:2023-11-27 22:53:44 25 4
gpt4 key购买 nike

setTimeout(function(){
userIsSetup = true;
console.log('This happened!');
}, 4000);

$interval(function(){
if(userIsSetup){
$scope.received = true;
$interval.cancel(); // Can pass a promise into this as well
}
console.log('A second has passed');
}, 1000, 30);

这是对 future 功能的测试,但基本上我只是想检查是否每秒完成一次某件事,持续三十秒。如果完成,停止计时器并打开一个变量,以便页面上的某些内容消失,否则三十秒后告诉用户某些内容需要一些时间。

正如标题所示,控制台登录间隔仅在页面加载时发生一次,然后就不会再发生。我需要以某种方式启动计时器吗?

最佳答案

尝试这样的事情。

 $scope.userIsSetup = false;
$interval = setInterval(function(){
$scope.check();
console.log('This happened!');
},2000);


$scope.check = function(){
if($scope.userIsSetup){
$scope.received = true;
$interval.cancel();
}
console.log('2 second has passed');

};

对于$间隔 Angular

app.controller('MainCtrl', function($scope,$interval) {


$scope.totalTimepassed = 0;


$scope.callAtInterval = function () {

if($scope.totalTimepassed < 9)
{
$scope.totalTimepassed = $scope.totalTimepassed +1;
console.log($scope.totalTimepassed +" seconds passed");
}
else
{
$interval.cancel(interval);
console.log("10 seconds passed");
}

}

var interval = $interval($scope.callAtInterval, 1000);



});

关于javascript - 这个 $interval 有什么问题吗?仅在页面加载时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37812546/

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