写点什么

使用 Netflix Falcor 获取 JSON 数据

  • 2015-08-25
  • 本文字数:863 字

    阅读完需:约 3 分钟

Netflix 开源了 JavaScript 库 Falcor ,它为从多个来源获取 JSON 数据提供了模型和异步机制。

Netflix 利用 Falcor 库实现通过 JSON 数据填充他们网页应用的用户界面。所有来自内存缓存或者多个数据库的后端数据,都通过一个虚拟 JSON 对象进行建模。这个 JSON 对象被称为“虚拟”,是因为从客户端的视角来看,这些数据来自内存,而事实上这些数据可能来自本地或者远程数据库。

数据通过 JSON 图提供,可以通过使用 DataSource 接口提供的 get、set 和 call 这几个异步方法操作。客户端能够通过类似直接访问 JSON 数据的方式,通过使用 JavaScript 路径的方式来遍历 JSON 图。为了便于演示,我们使用这个最小 JSON 对象:

复制代码
{
"greeting": "Hello World"
}

如果这个 JSON 对象存储在 model.json 文件中,那么访问这个对象可以这样做:

复制代码
<script src="<a href="https://netflix.github.io/falcor/build/falcor.browser.js%22">https://netflix.github.io/falcor/build/falcor.browser.js"</a>></script>
<script>
  var model = new falcor.Model({source: new falcor.HttpDataSource('/model.json') });
  // 从虚拟 JSON 资源的根节点获取“greeting”键的值
  model.
    get("greeting").
    then(function(response) {
      document.write(response.json.greeting);
    });
</script>

Falcor 包含一个路由,它隐藏了实际数据存储,指示调用负责获取数据的相应后端服务。另外,当数据获取回来后会被缓存起来,以避免后续对数据库的访问。Falcor 也能够批处理多个请求,将它们合并成一个网络请求,如果当前已经有一个数据库请求,Falcor 也不会重复请求。

Netflix 已经将 Falcor 开放到 GitHub 上,请求社区来帮助查找和修复缺陷,并与各种 MVC 框架进行集成。

查看英文原文 Getting JSON Data with Netflix Falcor


感谢邵思华对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-08-25 19:002543

评论

发布
暂无评论
发现更多内容

利用YashanDB数据库提升网站用户体验的策略

数据库砖家

利用YashanDB推动业务智能:如何进行数据驱动决策?

数据库砖家

如何借助YashanDB数据库推动企业数字化转型

数据库砖家

基于YashanDB数据库的分布式系统构建经验

数据库砖家

利用YashanDB数据库实现实时数据同步的方案

数据库砖家

如何利用YashanDB实现跨地域数据同步与灾备部署

数据库砖家

赋能AI金融:低代码平台的工程实践与未来展望

电子尖叫食人鱼

AI 低代码 金融

利用YashanDB数据库实现数据共享与协作

数据库砖家

利用YashanDB数据库提升产品开发效率

数据库砖家

如何利用YashanDB构建企业级数据共享平台

数据库砖家

如何利用YashanDB实现业务数据的高效管理?

数据库砖家

商品中心—库存分桶高并发的优化文档(二)

量贩潮汐·WholesaleTide

Java JavaScript 前端

利用YashanDB实现智能数据流处理

数据库砖家

利用YashanDB数据库实现跨地域数据同步攻略

数据库砖家

利用YashanDB数据库提升智能物流数据管理水平

数据库砖家

Archicad 28 for Mac(3D建筑建模工具)

Geek贝

如何利用YashanDB进行高效的数据挖掘?

数据库砖家

如何利用YashanDB进行机器学习模型的构建

数据库砖家

如何利用YashanDB构建智能决策支持系统?

数据库砖家

如何利用YashanDB进行高效数据归档管理

数据库砖家

如何利用YashanDB实现实时数据处理

数据库砖家

如何利用YashanDB打通信息孤岛?

数据库砖家

利用YashanDB数据库实现高并发访问的方案

数据库砖家

释放 IoT 数据价值,时序数据库 TDengine 上榜 2024 中国物联网创新产品榜

TDengine

tdengine 物联网 时序数据库

利用YashanDB数据库提升电信行业数据服务质量

数据库砖家

Pipeline 引用外部数据源最佳实践

观测云

安全 数据处理工具

启动YashanDB数据库项目的注意事项

数据库砖家

MySQL查询执行顺序:一张图看懂SQL是如何工作的

不在线第一只蜗牛

MySQL sql

如何利用YashanDB创建适应未来的数据架构

数据库砖家

如何利用YashanDB实现数据分片与负载均衡

数据库砖家

如何保证YashanDB数据库中的数据完整性

数据库砖家

使用Netflix Falcor获取JSON数据_开源_Abel Avram_InfoQ精选文章