在我的应用程序中,我有一个项目列表,以及一个删除最后一个项目的按钮。然后在我的控制器上,我编写了以下操作:
removeLastItem: ->
lastItem = current_order.get('items').get('lastObject')
lastItem.deleteRecord()
App.store.commit()
当我继续点击按钮太快时,我的问题就出现了。在某些时候,似乎 store.commit() 还没有完成(该项目仍然很脏),它已经为另一个项目调用了 store.commit(),抛出了这个错误:
错误:在状态 rootState.deleted.uncommitted 时尝试处理
deleteRecord
App.Item:ember6954:f6a1c932-2db0-4933-7c92-69fbd3838229> 上的事件。未定义调用
我已经尝试将此代码放在 RunLoop 或 Transaction 中,但没有任何效果。
有什么线索吗?:)