后端接口中返回了一个 json:
{ "favorite" : [], "most_visited" : [], "recently_visited" : [], "recently_visited_by_day":{} }
注意前三个 key 的值是 array,最后一个是 object
需求是页面需要展示前三个 key 对应的数组的内容,于是前端就对这个字典做了 for 遍历,输出了前三个 key 的内容,而且前端也考虑了,后续如果接口返回了更多的 key,他就直接不用改代码,就兼容了。
我作为后端,我觉得这样不合理,理由是:
前端这种处理,实际上是依赖了 hash 字典 key 的顺序,这不符合常规的习惯。理由是:
这种非常规的处理,就很容易导致 bug
如果前端确实觉得 for 遍历处理方便,应该和后端沟通,把接口返回格式改为: { "list" :[ [], // 对应 key favorite 的值 [], // 对应 key most_visited 的值 [] // 对应 key recently_visited 的值 ] "recently_visited_by_day":{} }
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.