Fetch vs Reset, как правильно использовать его с Backbone.js - PullRequest
0 голосов
/ 03 февраля 2012

У меня есть 4 коллекции, которые должны быть заполнены данными с сервера!

Мой json является вложенным:

[ "data1":[...], "data2": [...], "data3": [...], "data4": [...] ]

и мне нужны для каждой коллекции разные данные.

  1. Я начал использовать Fetch, но он выбирал для каждой Коллекции Весь JSON, прежде чем выбрать реальные необходимые данные.

  2. Когда я использую сброс несколько раз Коллекции заполняются данными, некоторые раз нет!

    var pack = [];
    var Coll1 = new ClefsButtonsCollection();
    var Coll2 = new AccidentalsButtonsCollection();
    var Coll3 = new NotesButtonsCollection();
    var Coll4 = new RestsButtonsCollection();
    $.getJSON("/api/data.json", function(data){
        Coll1.reset( data.data1 );
        Coll2.reset( data.data2 );
        Coll3.reset( data.data3 );
        Coll4.reset( data.data4 );
    });
    pack.push( Coll1, Coll2, Coll3, Coll4 );
    

Как я могу заполнить мою коллекцию перед загрузкой Dom? Я использую require.js

1 Ответ

0 голосов
/ 03 февраля 2012

Короткий ответ: нельзя. Поскольку вам приходится иметь дело с асинхронной природой JavaScript, вы не можете быть уверены, что один обратный вызов был сделан раньше другого. Единственный способ, который я вижу, это не вызывать API, а отображать результат JSON непосредственно на html-странице, как описано в FAQ по магистрали .

...