【问题标题】:Why can't I return an object in a Falcor router response?为什么我不能在 Falcor 路由器响应中返回对象?
【发布时间】:2015-11-27 09:10:11
【问题描述】:

如果我使用 netflix/falcor 上的 README 中的示例,则可以:

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

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

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

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

【问题讨论】:

  • 你能详细说明模型是如何请求数据的吗?
  • Phi Nguyen 回答了它。我已经阅读了文档,但已经过了几天,Falcor 的优雅非常好,我忘记了 Jafar Husain 解释为什么不允许使用对象和数组。

标签: falcor falcor-router


【解决方案1】:

由于可扩展性的原因,Falcor 不允许将值作为对象或数组返回。 Here 是对它的解释。

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

有些情况,你想返回一个数组,一个对象。您应该使用 JSON Graph 的Atom type

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-01-27
      • 2011-06-28
      • 1970-01-01
      • 2021-12-27
      • 2015-12-31
      • 2016-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多