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);

  • 相关阅读:
    [转]java 常用弹出框
    [转]ImageIcon icon 相对路径设置
    [转]『基本ASCII表和c语言运算表查询』
    [转]sqlmap技术手册
    [转]linux下怎么查看ssh的用户登录日志
    [转]Kali-linux安装之后的简单设置
    查看任意程序所连接的ip地址
    JS 闭包
    JS 中的 继承
    JS 原型的 理解
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4114651.html
Copyright © 2011-2022 走看看