目前我正在使用Ember Data加载一些可能存在或不存在的数据.如果记录不存在,Web应用程序应创建它.
简单的用例:记录库存.如果文章不存在,则应添加新文章.如果确实存在,那么员工可以立即使用该信息.
我怀疑适配器find()方法是这个问题的根源.它无法处理404未找到的错误,并且传递空结果也不起作用.
可能我忽略了一些微不足道的事情,因为“发现或创造”是一种非常规律的模式.请帮忙…
解决方法
见
this issue,或者这是解决方案:
findOrCreate: (type,properties)-> @store.find(type,properties.id).then null,(reason)=> if reason.status == 404 record = @store.recordForId(type,properties.id) record.loadedData() record.setProperties(properties) record.save() else throw reason