是否可以在模板中解决AngularJS承诺?

时间:2016-05-16 14:25:32

标签: angularjs http

在HTTP请求的所有文档和教程中,我发现recomanded用法类似于:

var ax = {
    getCaseData: function() {
     api.cases.getCase(caseManager.data.id).then(function(res){
       // puting my response to $scope.something
       $scope.something = res.data;
     });
    },
}

我真的不喜欢高级,所以请告诉我,如果我错了,但我很多时候你不需要在范围内存储这样的东西,例如你想要只解决一次承诺并显示数据(你没有做任何其他的事情)

所以我在想是否有选择作出承诺:

var ax = {
    getCaseData: function() {
     return api.cases.getCase(caseManager.data.id);
    },
}

并在此电话之后暂时改为:

<li ng-repeat="ax.getCaseData()"></li>

1 个答案:

答案 0 :(得分:1)

这是在旧版AngularJS(&lt; 1.2)中自动处理的,但从那时起被删除了。 有些帖子声明可以通过在“.config”函数中添加此行来手动重新启用该功能:

$parseProvider.unwrapPromises(true);

但不建议将其作为解决方案。你目前正在以正确的方式做到这一点。 如果您有这样的大量案例,您可以创建自己的“承诺包装”功能,并在模板中使用它。

请参阅:https://stackoverflow.com/a/19472065/1636977