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

  • 相关阅读:
    python读写hdf5及cdf格式文件
    常用python shell
    opencv的使用——经典大坑
    opencv python实用操作
    opencv python基本操作
    opencv c++实用操作
    opencv c++基本操作
    opencv安装
    [HNOI2005]星际贸易
    [2017SEERC]Divide and Conquer
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4114651.html
Copyright © 2011-2022 走看看