Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 余烬数据:isDeleted在记录中未更改,但在record.currentState中已更改_Javascript_Ember.js_Ember Data_State_Delete Record - Fatal编程技术网

Javascript 余烬数据:isDeleted在记录中未更改,但在record.currentState中已更改

Javascript 余烬数据:isDeleted在记录中未更改,但在record.currentState中已更改,javascript,ember.js,ember-data,state,delete-record,Javascript,Ember.js,Ember Data,State,Delete Record,使用余烬1.3.0-beta.4和余烬数据1.0.0-beta.4 我正试图通过一个简单的deleteRecord()调用删除一条记录。但是,当我在记录上激发save()时,它会执行PUT而不是DELETE record.deleteRecord(); record.save(); 执行一个PUT 结果是isDeleted的设置不正确。或者,它永远不会改变 record.get('isDeleted'); // false record.get('isDirty'); // false r

使用余烬1.3.0-beta.4和余烬数据1.0.0-beta.4

我正试图通过一个简单的
deleteRecord()
调用删除一条记录。但是,当我在记录上激发
save()
时,它会执行
PUT
而不是
DELETE

record.deleteRecord();
record.save();
执行一个
PUT

结果是
isDeleted
的设置不正确。或者,它永远不会改变

record.get('isDeleted'); // false
record.get('isDirty');   // false
record.deleteRecord();
record.get('isDeleted'); // false
record.get('isDirty');   // true
但是,
当前状态
似乎已更改

record.deleteRecord();
record.get('isDeleted');              // false
record.get('currentState.isDeleted'); // true
record.get('currentState.stateName'); // "root.deleted.uncommitted"
其他记录正常删除。这段代码很少(十分之一)表现出预期的行为,这让我相信这是一个排序问题


是否有任何原因,删除记录会这样做?

您能在jsbin中复制吗?这里有一个简单的例子,效果很好,我不知道您可以在
下设置
{async:true}
。你有什么好的文档我可以看一下吗?也许就是这样。我甚至没有使用异步关系:)因为实现仍然在强化,所以没有太多的文档,所以我发现了
async:true
的作用。本质上,它返回一个承诺,而不是结果值。相当整洁!