Orbit.js

数据访问和同步标准库
授权协议 MIT
开发语言 JavaScript
所属分类 Web应用开发、 常用JavaScript包
软件类型 开源软件
地区 不详
投 递 者 温峻熙
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Orbit.js 是一个标准库用于数据访问和同步。Orbit 依赖于 Promises、Events 和底层转换。

简单示例:

  // Create data sources with a common schema
  var schema = {
    idField: '__id',
    models: {
      planet: {
      }
    }
  };
  var memorySource = new Orbit.MemorySource(schema);
  var restSource = new Orbit.JSONAPISource(schema);
  var localSource = new Orbit.LocalStorageSource(schema);

  // Connect MemorySource -> LocalStorageSource (using the default blocking strategy)
  var memToLocalConnector = new Orbit.TransformConnector(memorySource, localSource);

  // Connect MemorySource <-> JSONAPISource (using the default blocking strategy)
  var memToRestConnector = new Orbit.TransformConnector(memorySource, restSource);
  var restToMemConnector = new Orbit.TransformConnector(restSource, memorySource);

  // Add a record to the memory source
  memorySource.add('planet', {name: 'Jupiter', classification: 'gas giant'}).then(
    function(planet) {
      console.log('Planet added - ', planet.name, '(id:', planet.id, ')');
    }
  );

  // Log the transforms in all sources
  memorySource.on('didTransform', function(operation, inverse) {
    console.log('memorySource', operation);
  });

  localSource.on('didTransform', function(operation, inverse) {
    console.log('localSource', operation);
  });

  restSource.on('didTransform', function(operation, inverse) {
    console.log('restSource', operation);
  });

  // CONSOLE OUTPUT
  //
  // memorySource {op: 'add', path: 'planet/1', value: {__id: 1, name: 'Jupiter', classification: 'gas giant'}}
  // localSource  {op: 'add', path: 'planet/1', value: {__id: 1, name: 'Jupiter', classification: 'gas giant'}}
  // restSource   {op: 'add', path: 'planet/1', value: {__id: 1, id: 12345, name: 'Jupiter', classification: 'gas giant'}}
  // memorySource {op: 'add', path: 'planet/1/id', value: 12345}
  // localSource  {op: 'add', path: 'planet/1/id', value: 12345}
  // Planet added - Jupiter (id: 12345)
  • T460p机器上代码运行到 require('autobahn') 段时报如下错误: "fatal" option is not supported on Node.js compiled without ICU 但是在mac、L470上运行均无错误,开始以为是node版本引起,后更改版本发现无差别。 经各种搜索未果,在github-crossbario/autobahn上提问无人问津: http

  • WebGL 简介:WebGL(全写Web Graphics Library)是一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0(OpenGL for Embedded Systems,OpenGL嵌入式版本,针对手机、游戏机等设备相对较轻量级的版本)结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Ca

  • 依赖 npm i three 引包 import * as THREE from 'three' import {OrbitControls} from 'three/examples/jsm/controls/OrbitControls.js' import {OBJLoader} from 'three/examples/jsm/loaders/OBJLoader.js' import {F

  • 在安装npm install --save three-orbit-controls 基本使用three.js index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1.0">

 相关资料
  • 问题内容: 我有一个奇怪的问题,如果可以解决,那就太好了。出于调试目的(以及其他一些目的),我在标准输出上编写了控制台Java应用程序的日志。在标准输出上写一些内容,在标准错误上打印一些错误,例如错误。问题是这两个没有完全同步,因此打印线的顺序并不总是正确的。我猜这是因为打印了很多东西,并且碰巧一个输出的缓冲区已满,所以其他输出在第一个输出刷新其缓冲区之前就已打印出来。 例如,我想这样写: 有时打

  • 问题内容: SimpleDateFormat的Javadoc指出SimpleDateFormat没有同步。 “日期格式不同步。建议为每个线程创建单独的格式实例。如果多个线程同时访问一种格式,则必须在外部进行同步。” 但是,在多线程环境中使用SimpleDateFormat实例的最佳方法是什么。这是我想到的一些选项,我过去曾使用过选项1和2,但是我很想知道是否有更好的选择,或者这些选项中的哪一个可以

  • 我是消防队的新手。我在用firebase数据库。其中我有两个节点,一个有用户信息,第二个有来自用户的所有评论。这些是数据库结构 用户节点 我要做的是获取一篇文章的所有评论,然后从评论节点获取,这实际上是对文章发表评论的用户键,然后从Firebase获取特定的用户信息。我写了以下代码。 null 评论1用户a 评论2用户b

  • 16. ORM和数据访问

  • 问题内容: 我正在使用Spring,Hibernate和JPA实体管理器。当同时(通过jquery / ajax)获取UI的不同区域时,我想同步对JPA实体管理器的访问,否则会导致对集合异常的共享引用。我该如何实现?我有一个控制器,它在后端调用服务方法,这些服务方法负责在entitymanager上调用get / save等。 问题答案: 您可以使用特定模式在对象上应用锁定。 实体经理: 查询:

  • “同步到数据库”功能让你比对物理模型和现有数据库或模式,显示它们之间结构的差异,并提供同步模型的结构到目标连接。 Navicat 提供一个向导,一步一步指导你完成任务: 选择“文件”->“同步到数据库”。 选择源数据库、模式,然后从现有的连接中选择目标连接、数据库、模式。 点击“选项”并选择比对或高级选项。 点击“比对”以显示源对象和目标对象之间的差异。 选择要同步的对象。 点击“部署”以生成一组