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

  • 相关阅读:
    java中Calendar类里面的月份是月份数减一。
    hdu oj
    存在重复元素
    杨辉三角
    删除链表的倒数第n个结点
    相交链表
    环形链表 II
    环形链表
    至少是其他数字两倍的最大数
    寻找数组的中心索引
  • 原文地址:https://www.cnblogs.com/luckyflower/p/4140216.html
Copyright © 2011-2022 走看看