angularjs $ interval函数在时间之前触发

时间:2017-11-22 09:58:30

标签: javascript angularjs

我在angularjs应用程序中实现了$ interval函数。当我测试这个时,我注意到功能在我配置它之前触发。这是一个代码:

var timeInSec=90;
  var promise = $interval(function() {
       $log.info("trigger");
        }, timeInSec*1000);

首先在60秒后触发,然后每次在90秒后触发。有人可以告诉我一个原因或是否有任何其他参数我需要设置,每90秒后这应该需要触发。

1 个答案:

答案 0 :(得分:0)

您的代码是正确的,并且在jsFiddle

中完全正常

但它在StackOverflow中不起作用,我已经修改了一点,使它在StackOverflow中工作 检查下面的运行代码。



var app = angular.module('myApp', []);
app.controller('MyController', ['$scope', '$interval', function($scope, $interval) {
  $scope.title = 'Hello world';

  var timeInSec = 2;
  $scope.promise = function() {
    $interval(function() {
      console.log("trigger");
    }, timeInSec * 1000);
  };

}]);

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-controller='MyController' ng-app="myApp">
  <div>{{title}}</div>
  <button ng-click=promise()>
    Click Me
  </button>
</div>
&#13;
&#13;
&#13;