在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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:462249
用户头像

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

关注

评论

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

分享5个可能用得上的JavaScript 库

devpoint

JavaScript i18n

Vue组件入门(十三)作用域插槽

Augus

Vue 10月月更

Java线程池submit阻塞获取结果实现原理

JAVA旭阳

Java 线程池 10月月更

Excel 文档的写入

芯动大师

Python Monad Excel数据分析 10月月更

“程”风破浪的开发者|HTML知识框架整理

默默的成长

Web3.0 “程”风破浪的开发者

运维进阶训练营-W01H

b1a2e1u1u

运维

“程”风破浪的开发者|我的数据结构和算法学习小技巧

Albert

学习方法 算法 LeetCode “程”风破浪的开发者

Spring Boot「12」自定义 starter

Samson

Java spring 学习笔记 spring-boot 10月月更

【一Go到底】第二十三天---字符串函数详解

指剑

Go golang 10月月更

举三反一,一通百通的“数学脑”是怎样炼成的?

图灵社区

数学

eBPF深度探索: 高效DNS监控实现

俞凡

ebpf

【web 开发基础】PHP 快速入门(8)-PHP 运算符之逻辑运算符详解

迷彩

逻辑运算符 10月月更 web开发基础 PHP基础

嵌入式 Linux 入门(三、Linux Shell 及常用命令说明)

矜辰所致

Linux Shell 10月月更 Shell命令

曾国藩正面与侧面2

dfuru

2:数据库的基本操作-MySQL

Yeats_Liao

数据库 后端 10月月更

3:表的基本操作-MySQL

Yeats_Liao

数据库 后端 10月月更

2022-10-23:给你一个整数数组 nums 。如果 nums 的一个子集中, 所有元素的乘积可以表示为一个或多个 互不相同的质数 的乘积,那么我们称它为 好子集 。 比方说,如果 nums =

福大大架构师每日一题

算法 rust 福大大

1024@程序员:图灵社区福利来了,请本人签收

图灵教育

程序员节

【JavaWeb】 Mybatis-01-Mybatis的简介:用对话的方式让你明白为什么要使用Mybatis

游坦之

10月月更

【愚公系列】2022年10月 Go教学课程 037-面向对象综合案例-微博

愚公搬代码

10月月更

golang中的nil接收器

六月的

golang nil

Java线程池源码深度解析

JAVA旭阳

Java 线程池 10月月更

极客时间 - 运维进阶训练营 - 第一周作业

dog_brother

Docker 镜像 linux namespace

1:安装、连接以及配置-MySQL

Yeats_Liao

数据库 后端 10月月更

决胜AI金融新赛道!Python Quants 创始人分享宝贵 AI 算法交易经验

图灵教育

人工智能

直接插入排序算法,看这篇就够了

游坦之

算法 10月月更

栈和队列的实现

lovevivi

c 数据结构 10月月更

决胜 AI 金融新赛道!Python Quants 创始人分享宝贵 AI 算法交易经验

图灵社区

人工智能

二叉树的详细实现(含递归展开图)

lovevivi

c 数据结构 10月月更

举三反一,一通百通的“数学脑”是怎样炼成的?

图灵教育

数学 科普

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