Javascript AngularJs中的$timeout运行不正常

Javascript AngularJs中的$timeout运行不正常,javascript,angularjs,timeout,Javascript,Angularjs,Timeout,我使用$timeout函数在单击div 4秒后隐藏它 它工作得很好,但在我的网站上做了一些其他的动作后,速度变慢了,发生在8-10秒之后,而不是4秒 这是我的代码: $scope.layout.rightPanel.InputDataTimeout = $timeout(function () { $scope.layout.rightPanel.InputDataMode = !$scope.layout.rightPanel.InputDataMode; }, 4000); 什么样的

我使用$timeout函数在单击div 4秒后隐藏它

它工作得很好,但在我的网站上做了一些其他的动作后,速度变慢了,发生在8-10秒之后,而不是4秒

这是我的代码:

$scope.layout.rightPanel.InputDataTimeout = $timeout(function () {
   $scope.layout.rightPanel.InputDataMode = !$scope.layout.rightPanel.InputDataMode;
}, 4000);

什么样的行动?你真的需要把超时设置在$scope中吗?我调用了其他做很多事情的函数…我没有把超时设置在scope中,但我更喜欢这样…这可能是问题所在吗?这不是问题所在。问题是$timeout使用setTimeout,4秒是最小延迟,因此不能保证在4秒后调用它。但是10秒太长了,除非你做了一些阻止浏览器的事情。但是10秒后会发生,所以浏览器不会被阻止!