zoukankan      html  css  js  c++  java
  • Netflix Falcor获取JSON数据

    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="https://netflix.github.io/falcor/build/falcor.browser.js"></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框架进行集成。

  • 相关阅读:
    SpringMVC概述
    Spring 声明式事务
    Spring_AOP切面编程
    Spring DI依赖注入
    Spring IOC控制反转
    Spring解耦和耦合
    Spring概述
    HTTP协议常见状态码
    TCP/IP协议的认识
    设计模式-工厂模式(factory)
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/5966564.html
Copyright © 2011-2022 走看看