Javascript 主干JS集合解析

Javascript 主干JS集合解析,javascript,parsing,backbone.js,collections,options,Javascript,Parsing,Backbone.js,Collections,Options,嗨,我对解析方法有一些问题 正如您在主干js中看到的,集合中的parse方法具有以下语法: collection.parse(响应、选项) 1) 我想知道为什么我们应该使用/重写parse方法,以及它的主要用途是什么 2) 我读了一些文章,发现parse方法为我们提供了客户端的数据结构 3)在理解parse方法的参数方面,我确实有问题。 -选项的作用是什么 你能给我一个使用带有两个参数的parse方法的例子吗 谢谢 这些文档有一个很好的摘要: 每当服务器在fetch中返回集合的模型时,主干就会调

嗨,我对解析方法有一些问题

正如您在主干js中看到的,集合中的parse方法具有以下语法: collection.parse(响应、选项)

1) 我想知道为什么我们应该使用/重写parse方法,以及它的主要用途是什么

2) 我读了一些文章,发现parse方法为我们提供了客户端的数据结构

3)在理解parse方法的参数方面,我确实有问题。 -选项的作用是什么

你能给我一个使用带有两个参数的parse方法的例子吗


谢谢

这些文档有一个很好的摘要:

每当服务器在fetch中返回集合的模型时,主干就会调用parse。函数传递原始响应对象,并应返回要添加到集合中的模型属性数组。默认实现是no-op,只需传递JSON响应

1) 您应该返回一个模型属性数组。如果您的JSON响应只有这个,那么您不需要做任何事情。通常,解析覆盖仅用于指向JSON对象内部的右侧部分。例如,如果您的回答是这样的:

{
   httpCode: 200,
   responseMessage: 'success',
   data: [ {model1}, {model2} ...]
}
然后需要覆盖
parse
以指向
数据
键:

parse: function(response) {
  return response.data;
}
2) 这意味着
响应
arg是服务器返回的对象

3) 第二个
options
arg是传递给
.fetch
调用的
options
。您不需要担心它,除非您想基于URL、HTTP方法或任何可以传递到获取的其他方法(以及选项和一些主干选项,如
重置
)来执行某些特定的逻辑

(四)

parse: function(response, options) {
  // For some reason POST requests return a different data structure.
  if (options.method === 'POST') {
     return response.data;
  }

  return response;
}