Документов есть хорошее резюме:
синтаксического анализ вызываются всяким раз, когда Backbone модель коллекции будет возвращена сервером, в выборке. Функция передается объекту исходного ответа и должна возвращать массив атрибутов модели, которые будут добавлены в коллекцию. Реализация по умолчанию - это нет-op, просто проходя через ответ JSON.
http://backbonejs.org/#Collection-parse
1) Вы должны возвращать массив атрибутов модели. Если у вашего ответа JSON есть только это, вам ничего не нужно делать. Обычно переопределение разбора используется просто для указания внутри объекта JSON в правой части. Например, если ваш ответ был таким:
{
httpCode: 200,
responseMessage: 'success',
data: [ {model1}, {model2} ...]
}
Затем вам нужно будет переопределить parse
, чтобы указать на data
ключа:
parse: function(response) {
return response.data;
}
2) Они имели в виду, что response
аргумент является объектом, который был возвращенный сервером.
3) Второй options
arg - это options
, который был передан на звонок .fetch
. Вам не нужно беспокоиться об этом, если вы не хотите использовать определенную логику на основе URL-адреса, метода HTTP или чего-либо еще, что может быть передано для fetch (и jQuery.ajax опций и некоторых базовых, таких как reset
).
4)
parse: function(response, options) {
// For some reason POST requests return a different data structure.
if (options.method === 'POST') {
return response.data;
}
return response;
}