Sencha Touch 2:同一 Store 中的两个 REST 请求

Sencha Touch 2: Two REST request in the same Store

是否可以在同一商店中以某种方式包含多个 rest/json 请求?

例如我有这个 api 那 return json 个对象:

http://api1.domain.com

{"name":"john"},{"name:"harry"}

http://api2.domain.com

{"name":"peter"},{"name:"fred"}

我想将 api1 和 api2 的结果合并到一个存储中,以便在所有串联的单个视图中处理它。结果:

{"name":"john"},{"name:"harry"},{"name":"peter"},{"name:"fred"}

或者可能没有串联,但我可以在一个视图中显示同时调用这两个 api: 约翰 哈利 彼得 弗雷德

这可能吗?

我正在尝试此操作但没有成功:

Ext.application({
    name: 'sencha',
    views: ['Main1'],
    models:['AdModel'],
    stores:['AdStore1','AdStore2'],
    launch: function () {

    var store1Obj = Ext.getStore('AdStore1');
    var store2Obj = Ext.getStore('AdStore2');

    store1Obj.each(function(record){
        var copiedRecord = record.copy();
    store2Obj.add(copiedRecord);
    });

    Ext.create('Ext.DataView', {
        fullscreen: true,
        store: store2Obj,
        itemTpl: '<tpl for="."><div><strong>{name}</strong></div></tpl>'
        });
    }

});

首先,您对 store http://docs-origin.sencha.com/touch/2.4/2.4.1-apidocs/#!/api/Ext.data.Store-method-each

each 方法使用了错误的语法

那么在同一个商店中添加 2 个不同的数据源就很简单了。

Ext.application({
    name: 'Fiddle',

    launch: function() {

        // Set up a model to use in our Store
        Ext.define("User", {
            extend: "Ext.data.Model",
            config: {
                fields: [{
                    name: "name",
                    type: "string"
                }]
            }
        });

        // Setup the stores
        var myStore1 = Ext.create("Ext.data.Store", {
            model: "User",
            data: [{
                "name": "john"
            }, {
                "name": "harry"
            }],
            autoLoad: true
        });

        var myStore2 = Ext.create("Ext.data.Store", {
            model: "User",
            data: [{
                "name": "peter"
            }, {
                "name": "fred"
            }],
            autoLoad: true
        });

        // Loop through each record of store2 adding it to store1
        myStore2.each(function(item, index, length) {
            myStore1.add(item);
        });

        Ext.create("Ext.List", {
            fullscreen: true,
            store: myStore1,
            itemTpl: "{name}"
        });
    }
});

演示:https://fiddle.sencha.com/#fiddle/g6n