zoukankan      html  css  js  c++  java
  • [AngularJS] $interval

    $interval provides an excellent service for timed operations in your AngularJS apps. It has the advantage over setInterval in "normal" Javascript in that it is aware of Angular's view cycles, as well as being mockable for unit tests. Additionally, it returns a promise and provides a lot of flexibility.

    Read More: https://docs.angularjs.org/api/ng/service/$interval

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <script src="bower_components/angular/angular.min.js"></script>
        <script src="app.js"></script>
    </head>
    <body ng-app="app" ng-controller="AppCtrl as app">
        <button ng-click="app.cancel();">cancel</button>
    </body>
    </html>
    /**
     * Created by Answer1215 on 11/22/2014.
     */
    
    function AppCtrl($q, $interval) {
    
        var vm = this;
        vm.cancel = cancel;
        vm.rejectIt = false;
    
        var timer = $interval(function(){
            vm.rejectIt = !vm.rejectIt;
            doAsync(vm.rejectIt).then(function(data){
                console.log(data.resolveData);
            }, function(error){
                console.log(error.rejectData);
            });
        }, 600, 10); // 600 ms, 10 times
    
        function doAsync(rejectIt){
            return $q(function(resolve, reject){
                    var doneTime = +new Date();
                    console.log(doneTime);
                    if(!rejectIt){
                        resolve({
                            resolveData: 'resolve it at '+doneTime
                        });
                    }else{
                        reject({
                            rejectData: 'reject it at '+doneTime
                        });
                    }
            });
        }
    
        function success() {
            console.log("done");
        }
    
        function error() {
            console.log("cancelled or error");
        }
    
        function notify() {
            console.log("updating");
        }
    
        timer.then(success, error, notify);
    
        function cancel() {
            $interval.cancel(timer);
        }
    }
    
    angular.module('app',[])
        .controller('AppCtrl', AppCtrl);

  • 相关阅读:
    android selector失效的原因
    Android TabActivity使用方法
    Android Build.VERSION.SDK_INT兼容介绍
    数组与指针
    字符串与字符串函数
    C控制语句:分支和跳转
    C控制语句:循环
    运算符、表达式、语句
    select
    正则验证数字
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4114651.html
Copyright © 2011-2022 走看看