Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
  <!DOCTYPE html>
<html ng-app="com.ngbook.demo">
<head>
<meta name="description" content="angular template">
<link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
<script src="//code.jquery.com/jquery.min.js"></script>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
  <meta charset="utf-8">
  <title>JS Bin</title>
  <script src="http://greengerong.github.io/self/cdn/angular.js"></script>
</head>
<body >
     <div ng-controller="DemoController as demo" class="container">
        <pre>{{"hello" | json}}</pre>
         
    </div>
</body>
</html>
 
ul.tree-view, .tree-view ul{
    list-style: none;
}
.tree-view .node-item{
    display: inline-block;
}
.tree-view .text-field{
    text-decoration: none;
    cursor: pointer;
    color: #333;
}
.tree-view .text-field:hover{
    text-decoration: none;
    cursor: pointer;
    color: #333;
}
.tree-view .text-field:focus{
    text-decoration: none;
    cursor: pointer;
    color: #333;
}
.tree-view .check-box{
    width: 24px;
    height: 18px;
    border-radius: 8px;
}
.tree-view .toolbar{
    display:inline-block;
}
.tree-view .toolbar .btn{
   padding: 0px;
}
.tree-view .toolbar .add{
   color: #FF0000;
}
.tree-view .toolbar .remove{
   color: #FF0000;
}
 
angular.module("com.ngbook.demo", [])
    .controller("DemoController", ['$cacheFactory', '$http', '$q', function($cacheFactory, $http, $q){
      var vm = this,
        dataCache = $cacheFactory('data-share');
      
      dataCache.put('/demo1', { result : 1});
      dataCache.put('/demo2', { result : 2});
      dataCache.put('/demo3', { result : 3});
                
        
     $http.get('/demo1', {cache: dataCache})
     .then(function(data){
         console.log('demo1', data);
         return $http.get('/demo2', {cache: dataCache});
      })
     .then(function(data){
         console.log('demo2', data);
         return $http.get('/demo3', {cache: dataCache});
      })
     .then(function(data){
         console.log('demo3', data);
      });
      
    
    $q.all([$http.get('/demo1', {cache: dataCache}),
            $http.get('/demo2', {cache: dataCache}),
            $http.get('/demo3', {cache: dataCache})])
    .then(function(results){
        console.log('result 1', results[0]);
        console.log('result 2', results[1]);
        console.log('result 3', results[2]);
    });
    
    var warpPromise = function(data){
        var defer = $q.defer();
        
        if(data % 2 === 0){
          defer.resolve(data);
        }
        else {
          defer.reject(data);   
        }
        
        var promise = defer.promise;
        promise.ok = function(func){
             promise.then(func);
            return promise;
        };
        
        promise.cancel = function(func){
             promise.then(null, func);
            return promise;
        };
        
        return promise;
    };
        
    [1, 2, 3, 4].forEach(function(item){
        warpPromise(item)
       .ok(function(data){
            console.log('ok', data);
       })
        .cancel(function(data){
           console.log('cancel', data);
       });
    }); 
        
        
    return vm;
    }]);
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
greengerongpro
0viewers