Angular资源保存承诺
Angular Resource Save Promise
我试图从angular $resource save中解析一个承诺。
文档指定我可以通过返回对象的$promise属性访问原始的$http承诺,如下所示:
var User = $resource('/user/:userId', {userId:'@id'});
User.get({userId:123})
.$promise.then(function(user) {
$scope.user = user;
});
这适用于get,但是,当我试图访问保存上的承诺时,我得到一个错误。我做错了什么?为什么解决保存和解决获取的工作方式不同?
注意:POST请求正在工作,我可以在浏览器的网络工具中看到从服务器返回的正确响应。我只是无法访问承诺中的结果。
In My Service
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);
}
In My 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) { ... });
相关文章:
- 我的职位回报太快了,如何做出承诺
- 打破承诺链的好方法是什么
- 从函数返回角度承诺
- 如何将getJson的响应保存在全局变量中
- 按下按钮时保存cookie
- 如何使用 Angular JS 将数据保存在数据库中
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- HTML5在画布中加载较小的图像并保存实际大小的图像
- 是否可以在浏览器中使用纯JavaScript保存音频流
- 如何将多个画布保存为一个图像
- 猫鼬用承诺保存并填充
- 解析云代码:如何调用异步保存的承诺
- 如何使用承诺保存多个 mongodb 集合
- 如何处理将来保存和更新的承诺中所需的信息
- Mongoose批量保存承诺
- 对AngularJS资源保存动作的承诺
- Angular资源保存承诺
- 与承诺一起工作,做一个保存
- nodejs中带有Q的承诺保存引用到mongoose
- 为承诺保存更改变量