angularjs中的$destroy和$timeout

module.controller("TestController", function($scope, $timeout) {
     
    var onTimeout = function() {
        $scope.value += 1;
        timer = $timeout(onTimeout, 1000);
    };
    var timer = $timeout(onTimeout, 1000);
     
    $scope.value = 0;
 
    $scope.$on("$destroy", function() {
        if (timer) {
            $timeout.cancel(timer);
        }
    });
});

原文

上面的demo展示了$destroy和$timeout的用法

$destroy用在清理一些资源.比如轮询这些.

$timeout 基于window.timeout的封装 $timeoutAPI

常用方法 var promise = $timeout(onTimeout, 1000); 返回一个promise 对象用于在 $timeout.cancel(promise); 

终止这次timeout 操作;

当在一个页面需要轮询的时候我就可以用到$timeout,当切换到下一个控制器的时候停止当前页面的timeout操作用到$destroy.

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。