你如何重置“$ timeout”,并禁用“$ watch()”?

时间:2016-09-05 10:49:39

标签: javascript angularjs performance

如何重置“$ timeout”,并禁用“$ watch()”?

var customTimeout = $timeout(function () {
  // arbitrary code
}, 55);

1 个答案:

答案 0 :(得分:6)

两者的关键是将函数的结果赋给变量。

要清除超时,只需“.cancel()”it:

$timeout.cancel(customTimeout);

同样适用于“$ interval()”。

要停用手表,只需拨打电话。

  

。$ watch()返回我们存储到变量

的注销函数
var deregisterWatchFn = $rootScope.$watch(‘someGloballyAvailableProperty’, function (newVal) {
  if (newVal) {
    // we invoke that deregistration function, to disable the watch
    deregisterWatchFn();
    ...
  }
});