为什么我不能在Falcor路由器响应中返回一个对象?

时间:2015-09-02 01:33:10

标签: falcor falcor-router

如果我使用netflix / falcor上的自述文件中的示例,则可以使用:

return {path:['greeting'], value: 'Hello World'};

但是如果我尝试将值更改为对象:

return {path:['greeting'], value: {hello: 'Hello World'}};

它似乎不起作用。我可能做了一些明显错误的事情,但我想得到一些澄清。

2 个答案:

答案 0 :(得分:3)

由于可伸缩性原因,Falcor不允许将值作为Object或Array返回。 Here就是对它的解释。

  

数组和对象都可以包含无限量的数据。完整地请求数组或对象等同于在SQL世界中请求'SELECT *'而没有'WHERE'子句的视图。今天包含5个项目的数组,可以在以后增长到包含10,000个项目。这意味着随着更多数据添加到后端数据存储中,最初快速提供并符合视图要求的请求可能会变慢。

在某些情况下,您希望返回一个数组,一个对象。您应该使用Atom type的JSON Graph。

答案 1 :(得分:0)

请在下面找到解决方案之一

var $atom = Falcor.Model.atom;

return {path:["items"], value: $atom(data.items)};

如需了解更多信息,请访问this link