To reset a timeout
and/or $interval
, assign the result of the function to a variable and then call the .cancel()
function:
var customTimeout = $timeout(function () {
// arbitrary code
}, 55);
$timeout.cancel(customTimeout);
To disable $watch()
, we call its deregistration function. $watch()
then returns a deregistration function that we store to a variable and that will be called for cleanup:
var deregisterWatchFn = $scope.$on('$destroy', function() {
// we invoke that deregistration function, to disable the watch
deregisterWatchFn();
});