为什么Sencha Touch中没有同步回调?

时间:2012-12-23 19:32:10

标签: sencha-touch sencha-touch-2

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

有没有解决方法呢?

1 个答案:

答案 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;
};