我正在使用Loopback Angular SDK,当我更新模型时,如果我使用$ q.resolve,模型不会更新。
示例:
bpmService.createDocument(newDocument)
.then(function (nd) {
Oc.prototype$updateAttributes({originalOc.id, documentId: nd.document.id}).$promise
.then(function(res){
deferred.resolve(res);
});
});
奇怪的问题是,当我评论//deferred.resolve(res)行时;模型更新!!!
我错过了什么?
答案 0 :(得分:0)
好吧,经过几次尝试后,我让我的修改工作。
首先,创建一个单独的函数来处理更新:
this.saveUpdatedOc = function(originalOc){
return Oc.prototype$updateAttributes({id: originalOc.id, documentId: originalOc.newDocumentId}).$promise
});};
然后,从控制器按顺序调用它们
ocService.doTransition(transitionObject)
.then(function (updatedDocument) {
data.oc.newDocumentId = _.clone(data.oc.documentId);
ocService.saveUpdatedOc(data.oc)
.then(function (response) {
//END OF FUNCTION
});
});
现在正在努力!因此,似乎最好的方法是在服务中使用单独的函数来处理调用。如果有人对此有更好的解释,我将非常乐意阅读它。