【问题标题】:EXTJS 4.0 : how to implement callback method for store.sync() method?EXTJS 4.0:如何实现 store.sync() 方法的回调方法?
【发布时间】:2011-12-05 01:02:14
【问题描述】:

我正在使用 Extjs 4.0 ,我需要 store.sync() 方法的回调方法吗?有没有人有办法解决吗?非常感谢!

【问题讨论】:

  • 仍然没有找到解决此问题的方法?

标签: callback extjs4 store sync


【解决方案1】:

这应该从 4.1 开始工作:

store.sync({
            success: function()
            {
                console.log("success!!");
            },
            failure: function()
            {
                console.log("failed...");
            },
            callback: function()
            {
                console.log("calling callback");
            },
            scope: this
        });

【讨论】:

  • 为此 +1。虽然最初的用户要求 ExtJS 4.0,但我认为在 4.1 等次要版本中升级是“正确”的答案。在 4.0 和 4.1 及更高版本之间修复了许多小错误,没有很多(也许有?)重大更改。
  • 请注意,如果没有要同步的内容,则根本不会调用回调...如果您愿意,您可能不得不使用覆盖...
【解决方案2】:

您可以使用

捕获商店中每个方法的结果
Ext.define('AM.store.AdreessStore', {
    extend:'Ext.data.Store',
....

   onCreateRecords:function (records, operation, success) {
   },

    onUpdateRecords:function (records, operation, success) {
    },

    onDestroyRecords:function (records, operation, success) {
    }

...
}

【讨论】:

    【解决方案3】:

    简短的问题,简短的回答:

    尝试监听 store 的不同事件,例如 datachangeupdateload。也许其中一个(或它们的组合)会在您需要时触发。

    【讨论】:

    • 不,它不能很好地工作。 extjs 中的开发人员表示他们将在 4.1 版本上修复此问题。有一个解决方案是针对失败案例侦听存储代理“异常”事件并针对成功案例侦听存储中的“写入”事件。但对于所有失败情况都不是很好,例如,我返回“成功:false,msg:'失败!'”但没有异常,然后异常监听器没有响应。
    猜你喜欢
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    • 2016-01-25
    • 1970-01-01
    • 2012-07-10
    • 2012-09-14
    相关资源
    最近更新 更多