javascript - ExtJS - 在多个存储中保存数据

标签 javascript extjs

我在 Ext.Window 的子类中有三个商店 (Ext.data.JsonStore)。我想对所有这些调用 save(),显示等待掩码直到完成,然后关闭窗口或处理错误。

有没有一种方法可以让我做到这一点而不会以非常困惑的方式结束?我正在考虑通过在第一家商店的 save 事件中调用第二家商店的 save() 来做到这一点,然后将一些东西拼凑在一起,以便我可以设置最后一个商店完成保存时调用的回调,但这似乎最终会导致嵌套困惑。因此,我们将不胜感激关于如何干净地构建它的任何建议。

最佳答案

类似的东西:

var saveStores = function(stores) {

    if (stores.length === 0) {
        console.log("All stores saved");
    } else {
        var store = stores.pop();
        store.save({
            callback : function() {
               saveStores(stores);
            }
        });
    }
}

saveStores([store1, store2, store3]);

抱歉,没时间测试 - 但算法可能在那里。

关于javascript - ExtJS - 在多个存储中保存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3468505/

相关文章:

嵌套在函数内的 JavaScript switch 语句

extjs - Sencha 项目突然消失

javascript - 从 Ext JS 4.2 调用 aspx 时遇到问题

javascript - 如何获取表单的属性?

extjs - 使用 Ext JS 进行快速开发

javascript - 出现 'Uncaught Error: Unable to parse bindings' 错误,但代码有效

javascript - 在 jQuery 中减慢 location.reload()?

javascript - 动态定义 Mongoose 模型方法

javascript - 在 JavaScript 函数中更改数组会更改函数外的数组?

javascript - Extjs 网格中的重叠工具提示