如何在AngularJS中停止$timeout?

如何在AngularJS中停止$timeout?,angularjs,timeout,Angularjs,Timeout,JS: HTML: 我想在单击按钮后停止$timeout。我的代码不起作用。 感谢您提前回复 您需要全局声明计时器变量。试试这个代码。这有用吗 <button ng-click="canceltime()"></button> <button ng-click="canceltime()"></button> var vm = this; var timer; vm.loadNames = function () {

JS:

HTML:


我想在单击按钮后停止$timeout。我的代码不起作用。
感谢您提前回复

您需要全局声明
计时器
变量。试试这个代码。这有用吗

<button ng-click="canceltime()"></button>
<button ng-click="canceltime()"></button>
 var vm = this;
    var timer;
    vm.loadNames = function () {
        var promise = service.getNames();
        promise.then(function (data) {
            $scope.names = data.names.data;
           timer = $timeout(vm.loadNames, 5000);
        });
    };
    $scope.canceltime = function(){
            $timeout.cancel(timer);
        };

      $scope.mouseout = function(){
        timer = $timeout(function () {
          $scope.show = false;
        }, 2000);
      };

    });