5

一旦商店同步成功完成,我希望能够向用户显示一条消息。但是,似乎没有任何方法可以使用回调或同步调用它。我有点惊讶这不是开箱即用的,因为它一定是一个常见问题。

有什么解决方法吗?

4

1 回答 1

3

我们花了很长时间才找到一个合适的解决方案。最后,我们在商店的 write 事件中添加了监听器,似乎工作正常。由于经常需要它,因此已将其添加到商店原型中

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;
};
于 2013-01-14T16:56:09.573 回答