我希望能够在商店同步成功完成后向用户显示消息。但是,似乎没有任何方法可以使用回调或同步调用它。我有点惊讶,这不是开箱即用,因为它一定是一个常见的问题。
有没有解决方法呢?
答案 0 :(得分:3)
我们花了很多年才找到适当的解决方案。最后,我们将监听器添加到商店的写入事件中,似乎正常工作。因为它经常被需要添加到商店原型中
Ext.data.Store.prototype.syncWithListener = function(onWriteComplete, syncMethod) {
this.on('write', onWriteComplete, this, {single:true});
var syncResult = syncMethod ? syncMethod.apply(this) : this.sync();
if (syncResult.added.length === 0 &&
syncResult.updated.length === 0 &&
syncResult.removed.length === 0) {
this.removeListener('write', onWriteComplete, this, {single:true});
onWriteComplete(this);
}
return syncResult;
};