diff options
| author | Pete Bacon Darwin | 2013-12-17 22:53:28 +0000 | 
|---|---|---|
| committer | Pete Bacon Darwin | 2013-12-17 22:53:28 +0000 | 
| commit | 73c66715c9a13b0fdacf98a9e9f237063a97ebc3 (patch) | |
| tree | 4067f429946d0a99c82ae1ad1f7917ae5c62e4b9 /src/ng/timeout.js | |
| parent | cb29632a5802e930262919b3db64ca4806c5cfc7 (diff) | |
| download | angular.js-73c66715c9a13b0fdacf98a9e9f237063a97ebc3.tar.bz2 | |
docs(bootstrap-prettify): fix $timeout issues and update related docs
End 2 end tests wait for all `$timeout`s to be run before completing the test.
This was problematic where we were using timeouts that restarted themselves because
there would never be a point when all timeouts had completed, causing the tests to hang.
To fix this $timeout had been monkey-patched but this caused other issue itself.
Now that we have $interval we don't need to use $timeout handlers that re-trigger the $timeout
so we can ditch the monkey-patch.
This commit tidies up any examples that are using this approach and changes them to use $interval
instead.
Closes #5232
Diffstat (limited to 'src/ng/timeout.js')
| -rw-r--r-- | src/ng/timeout.js | 87 | 
1 files changed, 0 insertions, 87 deletions
| diff --git a/src/ng/timeout.js b/src/ng/timeout.js index 51e627b9..511a0a05 100644 --- a/src/ng/timeout.js +++ b/src/ng/timeout.js @@ -32,93 +32,6 @@ function $TimeoutProvider() {        * @returns {Promise} Promise that will be resolved when the timeout is reached. The value this        *   promise will be resolved with is the return value of the `fn` function.        *  -      * @example -      <doc:example module="time"> -        <doc:source> -          <script> -            function Ctrl2($scope,$timeout) { -              $scope.format = 'M/d/yy h:mm:ss a'; -              $scope.blood_1 = 100; -              $scope.blood_2 = 120; - -              var stop; -              $scope.fight = function() { -                stop = $timeout(function() { -                  if ($scope.blood_1 > 0 && $scope.blood_2 > 0) { -                      $scope.blood_1 = $scope.blood_1 - 3; -                      $scope.blood_2 = $scope.blood_2 - 4; -                      $scope.fight(); -                  } else { -                      $timeout.cancel(stop); -                  } -                }, 100); -              }; - -              $scope.stopFight = function() { -                $timeout.cancel(stop); -              }; - -              $scope.resetFight = function() { -                $scope.blood_1 = 100; -                $scope.blood_2 = 120; -              } -            } - -            angular.module('time', []) -              // Register the 'myCurrentTime' directive factory method. -              // We inject $timeout and dateFilter service since the factory method is DI. -              .directive('myCurrentTime', function($timeout, dateFilter) { -                // return the directive link function. (compile function not needed) -                return function(scope, element, attrs) { -                  var format,  // date format -                  timeoutId; // timeoutId, so that we can cancel the time updates - -                  // used to update the UI -                  function updateTime() { -                    element.text(dateFilter(new Date(), format)); -                  } - -                  // watch the expression, and update the UI on change. -                  scope.$watch(attrs.myCurrentTime, function(value) { -                    format = value; -                    updateTime(); -                  }); - -                  // schedule update in one second -                  function updateLater() { -                    // save the timeoutId for canceling -                    timeoutId = $timeout(function() { -                      updateTime(); // update DOM -                      updateLater(); // schedule another update -                    }, 1000); -                  } - -                  // listen on DOM destroy (removal) event, and cancel the next UI update -                  // to prevent updating time ofter the DOM element was removed. -                  element.bind('$destroy', function() { -                    $timeout.cancel(timeoutId); -                  }); - -                  updateLater(); // kick off the UI update process. -                } -              }); -          </script> - -          <div> -            <div ng-controller="Ctrl2"> -              Date format: <input ng-model="format"> <hr/> -              Current time is: <span my-current-time="format"></span> -              <hr/> -              Blood 1 : <font color='red'>{{blood_1}}</font> -              Blood 2 : <font color='red'>{{blood_2}}</font> -              <button type="button" data-ng-click="fight()">Fight</button> -              <button type="button" data-ng-click="stopFight()">StopFight</button> -              <button type="button" data-ng-click="resetFight()">resetFight</button> -            </div> -          </div> - -        </doc:source> -      </doc:example>        */      function timeout(fn, delay, invokeApply) {        var deferred = $q.defer(), | 
