我的Angular服务中有这个:

return $resource(BASE + '/cases/:id',
    {id: '@id'}, {
        status: {method: 'GET', params: {status: '@status'}}
});


当使用添加到$resource定义中的方法以及Promise的.then()函数时,出现错误:

Cases.status({status: 'pending'})
    .then(function(res) {
        console.log(res);
        $scope.cases.pending = res.data.cases;
    })
    .then(function() {
        $scope.tabbed.pending = true;
    });


运行以上代码段后,我得到的错误是:

此行上的TypeError: undefined is not a function.then(function(res) {

当我使用在$resource上定义的额外方法时,是否可以不像通常那样使用这些功能?

最佳答案

我认为您需要使用$promise对象的$resource,当实际的承诺得到解决时,该对象将调用成功函数,然后可以继续进行承诺链。



Cases.status({status: 'pending'})
.$promise
.then(function(res) {
    console.log(res);
    $scope.cases.pending = res.data.cases;
})
.then(function(cases) {
    $scope.tabbed.pending = true;
});

关于javascript - $ resource中带有.then()函数的 Angular 自定义方法导致错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29395898/

10-11 09:01