gpt4 book ai didi

javascript - Angular 资源节省 promise

转载 作者:行者123 更新时间:2023-12-01 17:51:36 25 4
gpt4 key购买 nike

我正在尝试解决来自 angular $resource 的 promise 保存。

文档指定我可以通过返回对象的 $promise 属性访问原始 $http promise,如下所示:

var User = $resource('/user/:userId', {userId:'@id'});
User.get({userId:123})
.$promise.then(function(user) {
$scope.user = user;
});

这对 get 有效,但是,当我尝试在保存时访问 promise 时,出现错误。我哪里做错了,为什么解析保存的方式与解析获取的方式不同?

注意:POST 请求正在运行,我可以在浏览器的网络工具中看到从服务器返回的正确响应。我只是无法访问 promise 中的结果。

为我服务

var itemResource = $resource('/api/myUrl/:id/:action', { id: '@id', action: '@action' });

function getItem(id) {
return itemResource.get({ id: id });
}

function saveItem(item) {
return itemResource.save(item);
}

在我的 Controller 中

var getResult = itemService.getItem({ id: 1560 });
getResult.$promise.then(function (itemDef) { // THIS WORKS!!!
console.log(itemDef);
});

var saveResult = itemService.saveItem(item);
saveResult.$promise.then(function (itemDef) { // Cannot read property 'then' of undefined
console.log(itemDef);
});

最佳答案

您需要在保存响应上直接调用then 方法:

var saveResult = itemService.saveItem(item);

saveResult.then(function(itemDef) { ... });

关于javascript - Angular 资源节省 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32571484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com