写点什么

Reactive Extensions for JavaScript 瘦身不再支持旧浏览器

  • 2013-12-30
  • 本文字数:771 字

    阅读完需:约 3 分钟

RxJS 2.2 进行了瘦身,在默认构建中只支持 ECMA Script 5 浏览器。这意味着使用 Reactive Extensions for JavaScript 需要 IE 9、Firefox 4、Safari 6、Chrome 19 或更新的版本。要想支持旧版本需要使用 rx.compact.js 来提供缺失的 Polyfills

要进一步瘦身,开发者可以使用 Rx-Lite(也叫 rx.lite.js)。该库只包含最常用的特性。 Rx 团队的博客中这样说道,

为了避免 RxJS 中点菜式的传统,仅使用需要的部分,该版本只包含最常用的工厂方法中的操作符、标准查询操作符、基于时间的操作符、绑定操作符(如广播)和异步操作符(如 Rx.Observable.fromEvent、Rx.Observeable.fromPromise 等)。还有一个兼容版本 rx.lite.compat.js,支持老一些的浏览器。整个库压缩后只有 7kb 大小,这在没有多少成本的情况下提供了很多可能性。

和完整版一样,Rx-Lite 也是为 ECMAScript 5 而设计,并为老浏览器提供了可选的兼容库。

RxJS 2.2 中还有一些其他方面的重大改变。首先是 Rx.Observable.prototype.scan 的行为,“因其属于 Reactive Extensions for .NET,所以也发生了改变”。声明中还说道,

这是为了反映其他语言中的行为,如 F#、Haskell 等。基本规则是,如果有一个空的且有种子的可观察序列,那么应该产生(yield)这个种子。或者如果序列为空且没有种子,那么它就应该是一个空序列。这与旧版本不同,在旧版本中,即使空序列有种子,也不会产生任何东西。

其他方便的变动是将四个函数移动到新的库中:

  • Rx.Observable.toAsync 移动到 rx.async.js
  • Rx.Observable.start 移动到 rx.async.js
  • Rx.HistoricalScheduler 移动到 rx.virtualtime.js
  • Rx.VirtualTimeScheduler 移动到 rx.virtualtime.js

同样,这也是为了降低核心文件的大小。我们将在关于RxJS 未来的报道中深入介绍rx.async.js。

原文链接: Reactive Extensions for JavaScript Loses Weight and Older Browsers

2013-12-30 04:462040
用户头像

发布了 59 篇内容, 共 25.4 次阅读, 收获喜欢 3 次。

关注

评论

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

做一枚旗帜Be a Flag

石君

28天写作

关于Dapper实现读写分离的个人思考

yi念之间

大数据知识专栏 - MapReduce 的 Reduce端Join

小马哥

大数据 hadoop mapreduce 七日更

团队复盘之kiss

张老蔫

28天写作

联发科推出天玑1200,新一年的头道“5G甜点”究竟滋味如何?

脑极体

剖析一站式分布式事务方案SeataFescar-Server

比伯

Java 编程 架构 面试 计算机

Windows DHCP最佳实践(四)

BigYoung

运维 windows Windows Server 2012 R2 DHCP

干货|更通用的P2P网络协议栈——Libp2p

QTech

IPFS Libp2p

区块链交易所软件开发|区块链交易所APP系统开发

系统开发

听了微信创始人张小龙的演讲,更加坚定Filecoin的光辉未来

时空云

分布式存储 IPFS Filecoin

如果不完美,接受就好了「14/28」

道伟

28天写作

Nginx实现在局域网内真正的ip_hash负载均衡​

会飞的猪

虚言妙诀终虚见,面试躬行是致知,Python技术面试策略与技巧实战记录

刘悦的技术博客

Python 面试

soul数据同步(二)zookeeper同步策略

xzy

源码分析 网关 Soul网关 soul sou

中金数据集团与腾讯云合力拓展信息安全、区块链业务领域

CECBC

区块链产业

2020出行之变(一):自动驾驶的“跃渊”时刻

脑极体

hive窗口函数/分析函数详细剖析

五分钟学大数据

Hive SQL

IT版“历史上的今天”

IT蜗壳-Tango

七日更

认识产品经理(第一章上)

让我思考一会儿

重学JS | 玩转File API

梁龙先森

面试 大前端 编程语言 28天写作

为什么Java程序会执行一段时间后跑的更快?

Java架构师迁哥

nodejs中使用worker_threads来创建新的线程

程序那些事

多线程 nodejs 并发控制 程序那些事 子线程

Soul网关源码阅读(十)自定义简单插件编写

Java 源码阅读 网关

讨论:Service层的接口是不是多此一举?

xcbeyond

Java 接口管理 28天写作

35+的测试人都去哪儿了?所谓“青春饭”真的只是在贩卖焦虑吗?

程序员阿沐

编程 程序员 软件测试 教程 测试工程师

云原生的理解

JiangX

容器 云原生 数字化转型 数字化 28天写作

朋友问他是否该跳槽了?我是这么跟他说的

田维常

面试

简单易懂的单臂路由介绍及一看就会的实验

数字人民币带来更好支付体验 没有网络时也能使用

CECBC

数字人民币

Dubbo源码解析(1)-整体框架介绍

冰三郎

源码分析 dubbo RPC

认识产品经理(下)

让我思考一会儿

Reactive Extensions for JavaScript瘦身不再支持旧浏览器_JavaScript_Jonathan Allen_InfoQ精选文章