AngularJS-管理$ http成功回调

危险线

我想更改服务,myFct但有一个问题:

这是我目前的服务,效果很好

工厂

angular.module('MyApp')
.factory('myFct', myFct);

function myFct(){
    return{
        getMyData : function() {
            return $http.get('./my/data.json');
        }
    }
}

控制器

app.module('MyApp')
.controller('myCtrl', myCtrl);

myCtrl.$inject = ['myFct'];

function myCtrl(myFct){
    vm = this;
    vm.myData = myData();

    function myData(){
        myFct.getMyData().success(function(data){
            vm.myData = data;
        });
    }
}

例如,我想在工厂管理$ http成功

工厂

angular.module('MyApp')
.factory('myFct', myFct);

function myFct(){
    return{
        getMyData : function() {
            return $http.get('./my/data.json').success(function(data){
                return data;
            });
        }
    }
}

控制器

app.module('MyApp')
.controller('myCtrl', myCtrl);

myCtrl.$inject = ['myFct'];

function myCtrl(myFct){
    vm = this;
    vm.myData = myFct.getMyData();
}

变量的结果vm.myData是不确定的。我知道$ http服务是异步的,但是如何处理该变量vm.myData等于json文件的数据呢?

杰西·卡特(Jesse Carter)

您可以实现与使用函数回调样式之后类似的行为。

在您的工厂中:

function myFct() {
    return{
        getMyData : function(callback) {
            return $http.get('./my/data.json').success(function(data){
                callback(data)
            });
        }
    }
}

在您的控制器中:

function myCtrl(myFct){
    vm = this;
    myFct.getMyData(function(data) {
        vm.myData = data;
    });
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AngularJS:$ http成功回调中的范围问题

来自分类Dev

AngularJS拒绝成功回调中的承诺

来自分类Dev

如何将值传递给AngularJS $ http成功回调

来自分类Dev

为什么成功或错误回调函数对于angularjs中的$ http.post无法正确执行

来自分类Dev

如何将值传递给AngularJS $ http成功回调

来自分类Dev

在AngularJS的$ http成功回调之外无法访问$ scope变量值

来自分类Dev

angularJS $ http.get()成功回调未在跨域上调用

来自分类Dev

AngularJS $ http回调未触发

来自分类Dev

AngularJS $ http回调未触发

来自分类Dev

在AngularJS服务中使用$ http回调

来自分类Dev

使用AngularJS中的Promise从控制器管理服务回调?

来自分类Dev

JavaScript回调管理

来自分类Dev

AngularJS提供工厂方法的成功回调

来自分类Dev

AngularJS发布成功回调即使发生错误也被触发

来自分类Dev

在AngularJS中用已命名的成功/错误回调声明promise

来自分类Dev

AngularJS提供工厂方法的成功回调

来自分类Dev

AngularJS指令回调

来自分类Dev

AngularJS回调,复制$ http的行为。将缓存变成承诺

来自分类Dev

在$ http回调中使用AngularJS和Typescript使用'this'

来自分类Dev

没有从AngularJS $ http.post获得回调

来自分类Dev

AngularJS回调,复制$ http的行为。将缓存变成承诺

来自分类Dev

在AngularJS中使用$ resource和$ http管理全局错误

来自分类Dev

AngularJS:依赖管理

来自分类Dev

AngularJS:依赖管理

来自分类Dev

AngularJS中的内存管理

来自分类Dev

AngularJS管理大量数据

来自分类Dev

AngularJS 多权限管理

来自分类Dev

AngularJS和Ajax帖子-如何触发Ajax错误(而非成功)回调

来自分类Dev

在另一种形式的成功回调中使用AngularJS和bluimp上传文件

Related 相关文章

热门标签

归档