我有一个基本的crud应用程序的博客帖子.上面的错误显示在控制台.我删除帖子.但是帖子从数据库中删除.我搜索了类似的问题,没有一个答案解决了问题.我使用用于crud操作的JSONAPIAdapter.
我检查了ember检查器的标志,isDeleted的标志设置为true .FYI ,ember数据中显示的记录数是精确的.
deletePost:function(id){
var self = this;
this.get('store').find('post', id)
.then(post => post.destroyRecord())
.then(() => self.transitionToRoute('posts'));
}
Run Code Online (Sandbox Code Playgroud)
我使用nodejs作为后端,mysql作为db.删除记录后,我发送了这样的响应 res.status(204).end();
Ember CLI版本2.6.3
小智 6
我很确定这个问题是由ember数据的后台重新加载引起的.即使在删除请求之前触发了对api的查找请求,查找请求也会在您触发删除请求后解析.要禁用后台重新加载并强制执行api呼叫,您可以{reload: true}转到findRecord()呼叫.这将确保在您触发删除请求之前解析请求已解析.
像这样:
deletePost(id) {
this.get('store').findRecord('post', id, { reload: true }).then((post) => {
return post.destroyRecord();
}).then(() => {
self.transitionToRoute('posts');
});
}
Run Code Online (Sandbox Code Playgroud)
您可以findRecord在这里阅读更多信息:http://emberjs.com/api/data/classes/DS.Store.html#method_findRecord
将来,我建议不要使用箭头功能速记,因为即使你不想返回值,它总会返回.
| 归档时间: |
|
| 查看次数: |
2074 次 |
| 最近记录: |