首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angularjs .factory方法返回

Angularjs .factory方法返回
EN

Stack Overflow用户
提问于 2015-06-07 22:49:17
回答 1查看 424关注 0票数 0

通过在.factory语句和响应前面添加一个“返回”,我已经能够让这个Restangular.all工作起来。我的问题是为什么那里需要它?为什么我不能直接回复呢?

代码语言:javascript
复制
app.controller('MainController', ['GetIndexesFromES', '$scope', function(GetIndexesFromES, $scope) {
        $scope.indices = GetIndexesFromES.getUniqueIndexIDs();
        console.log($scope.indices);
}]);

app.factory('GetIndexesFromES', ['Restangular', function GetIndexesFromES (Restangular) {
    var GetIndexesFromES = {};
    GetIndexesFromES.getUniqueIndexIDs = function(){
        return Restangular.all('_stats/index,store').getList().then(function(response) {
            return response
        });
    }
    return GetIndexesFromES;
}]); 

我提出这个问题的主要原因是,在将数据发送回控制器/$范围之前,我希望修改数据(在.factory中)。

谢谢你,格雷格

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-07 22:57:56

如果仔细查看getUniqueIndexIDs的代码,就会发现有一个回调。

第二个返回不是来自getUniqueIndexIDs,而是来自then的回调函数。

本质上,您的getUniqueIndexIDs返回由then创建的承诺。这个承诺由返回值then回调函数解决,在您的例子中,该函数是return response

你所做的本质上是承诺链。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30699258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档