aboutsummaryrefslogtreecommitdiffstats
path: root/src/ng/timeout.js
diff options
context:
space:
mode:
authorPete Bacon Darwin2013-12-17 22:53:28 +0000
committerPete Bacon Darwin2013-12-17 22:53:28 +0000
commit73c66715c9a13b0fdacf98a9e9f237063a97ebc3 (patch)
tree4067f429946d0a99c82ae1ad1f7917ae5c62e4b9 /src/ng/timeout.js
parentcb29632a5802e930262919b3db64ca4806c5cfc7 (diff)
downloadangular.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.js87
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(),