zoukankan      html  css  js  c++  java
  • angularJS factory中包含xhr时,通过promise获取结果

     1 angular.module('shopping', []).
     2   factory('shoppingData',function($http, $q){
     3     return{
     4       apiPath:'/api/shoppingCart/',
     5       getAllItems: function(){
     6         //Creating a deferred object
     7         var deferred = $q.defer();
     8 
     9         //Calling Web API to fetch shopping cart items
    10         $http.get(this.apiPath).success(function(data){
    11           //Passing data to deferred's resolve function on successful completion
    12           deferred.resolve(data);
    13       }).error(function(){
    14 
    15         //Sending a friendly error message in case of failure
    16         deferred.reject("An error occured while fetching items");
    17       });
    18 
    19       //Returning the promise object
    20       return deferred.promise;
    21     }
    22   }
    23 }
    24 
    25 Following is the controller consuming the above custom service: 
    26 function ShoppingCartCtrl($scope, shoppingData) {
    27   $scope.items = [];
    28 
    29   function refreshItems(){
    30     shoppingData.getAllItems().then(function(data){
    31       $scope.items = data;
    32     },
    33     function(errorMessage){
    34       $scope.error=errorMessage;
    35     });
    36   };
    37 
    38   refreshItems();
    39 };

    详见:http://sravi-kiran.blogspot.com/2013/03/MovingAjaxCallsToACustomServiceInAngularJS.html

  • 相关阅读:
    《计算机网络》总结
    【操作系统】死锁
    【操作系统】进程同步
    【操作系统】处理器调度
    【操作系统】总结二(进程与线程)
    【操作系统】总结一
    前缀、中缀、后缀表达式
    QMap
    Qt 常用的功能
    Qt 文件处理
  • 原文地址:https://www.cnblogs.com/luckyflower/p/4140216.html
Copyright © 2011-2022 走看看