速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

使用 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:002090

评论

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

腾讯云大神亲码“redis深度笔记”,不讲一句废话,全是精华

钟奕礼

Java java程序员 java面试 java编程

万字长文!对比分析了多款存储方案,KeeWiDB最终选择自己来

腾讯云数据库

nosql 存储 NoSQL 数据库 腾讯云数据库 KeeWiDB

列表常用方法(一)

乔乔

11月月更

集合:元素之间不允许重复

乔乔

11月月更

啃完这35个Java技术栈,冲刺大厂offer

小二,上酒上酒

Java 编程 JVM 技术栈 编程开发

金九银十结束了,各大公司Java后端开发真题汇总,明年再战

小二,上酒上酒

Java MySQL 编程 分布式 算法

熬夜也要肝完的阿里内部面试官手册,吃透直接拿下大厂心仪offer

小二,上酒上酒

Java 数据库 架构 分布式 高并发

先到先得!阿里淘系内传322页Java并发编程核心讲义学习笔记

钟奕礼

Java java程序员 java面试 java编程

进军东南亚市场,腾讯云数据库TDSQL助力印尼BNC银行数字化转型

腾讯云数据库

金融行业 tdsql 腾讯云数据库 BNC

今年Java技术岗面试太难了,收藏93套BATJ等公司面试题集,已看哭

钟奕礼

java面试 java编程 Java‘’ 程序员‘

元组:轻量级列表

乔乔

11月月更

涨薪50%,从小厂逆袭,坐上美团L8技术专家(面经+心得)

钟奕礼

Java Java 面试 java编程 程序员 java

从零开始读源码,阿里最新JDK源码剖析笔记在架构师社区火了

程序员小毕

Java 程序员 后端 jdk源码 架构师

CDH5部署三部曲之一:准备工作

程序员欣宸

大数据 CDH 11月月更

GitHub标星1.6W+的570页JVM垃圾回收文档,助我boss直聘狂拿offer

小二,上酒上酒

Java JVM 垃圾回收 性能调优

小令观点 | 让全球身份更可信:电子护照的前世今生

令牌云数字身份

数字身份 护照 电子护照 全球护照

阿里P9架构师终于把毕生心血而成的分布式高可用算法笔记开源了

小二,上酒上酒

Java 编程 分布式 算法 编程开发

你敢信?清华毕业大佬用了一个坦克大战项目就讲完了23种设计模式

小二,上酒上酒

Java 编程 设计模式 马士兵 编程开发

花一周时间,啃完这套京东架构师独家微服务笔记,成功面进字节

小二,上酒上酒

Java 负载均衡 编程 架构 SpringCloud

图神经网络之预训练大模型结合:ERNIESage在链接预测任务应用

汀丶人工智能

图神经网络 图学习 11月月更

一个三年Java程序员的面试总结!绝对会对你有所帮助

钟奕礼

Java java面试 java编程 程序员 java

字典:反映对应关系的映射类型

乔乔

11月月更

极致性能!阿里巴巴Java性能优化实录Github首次开源

Java永远的神

JVM 设计模式 多线程 java程序员 Java性能优化

终于拿到了阿里P8架构师分享的JCF和JUC源码分析与实现笔记java岗

小二,上酒上酒

Java 源码 JUC JCF

阿里P8架构师强推java程序员人手一套116页JVM吊打面试官专属秘籍

小二,上酒上酒

Java 编程 JVM 开发 计算机

吃透互联网必问的100道Spring全家桶高频真题,金九银十稳了

小二,上酒上酒

Java spring 编程 springboot SpringCloud

终于有好心的人把高性能MySQL「第三版」电子版分享出来了

小二,上酒上酒

Java MySQL 编程 计算机

阿里P8大牛刷算法的正确姿态!女朋友再也不用担心我刷不动力扣了

小二,上酒上酒

Java 编程 算法 LeetCode

最近面试Java开发的感受:就以平时项目经验面试,通过估计很难

钟奕礼

Java java面试 java编程 程序员 java

列表常用方法(二)

乔乔

11月月更

深入浅出学习透析Nginx服务器的基本原理和配置指南「Keepalive性能分析实战篇」

洛神灬殇

nginx keep-alive 11月日更

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