2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

国内上市进程或将提速!百度宣布小度科技独立融资

脑极体

深入剖析 | Java15语法特性

九叔(高翔龙)

Java 架构 Java 分布式 java15新特性

太牛了,这份神仙级面试笔记把所有 Java 知识面试题都详解出来了

Java架构之路

Java 程序员 面试 编程语言

极光无限:用AI赋能安全 解决安全行业人才紧缺难题

风向标

人工智能

全文!马云对数字时代全球化的全新解读

CECBC

全球化 数字时代

从三个产业侧影,打开万物智能的应用之匙

脑极体

一个草根的日常杂碎(9月29日)

刘新吾

随笔杂谈 生活记录 社会百态

一周信创舆情观察(9.21~9.27)

统小信uos

阿里内部超流行的“SpringBoot+ 微服务指南”,理论与实战双管齐下

Java架构之路

Java 程序员 微服务 Spring Boot 编程语言

中秋佳节,程序员教你AI三步成诗,秒变“李白”

华为云开发者联盟

AI 中秋

LeetCode题解:242. 有效的字母异位词,数组排序,JavaScript,详细注释

Lee Chen

大前端 LeetCode

开源=免费?

Philips

开源 开源社区

数据库选型入门必读:如何在眼花缭乱的产品中挑出最适合业务的?

华为云开发者联盟

数据库 数据库选择 关系型

区块链掀起全民创业热潮!数字资产是未来全球最具前景和价值的!

CECBC

区块链 数字货币

第三课代码重构课后作业

Geek_michael

极客大学架构师训练营

第三周学习代码重构总结

三板斧

极客大学架构师训练营

GitHub上标星68k,基于SpringBoot+Netty分布式开源的即时通讯系统项目

Java架构之路

Java 程序员 编程语言 Netty 项目实战

架构师训练营 1 期第 3 周:代码重构 - 作业

piercebn

极客大学架构师训练营

在vue2中使用ts

正经工程师

typescript vue.js

软件架构(2)-框架设计

Zeke

极客大学架构师训练营

上手深度学习之前,我们先聊聊“数学”

华为云开发者联盟

神经网络 学习 数学

不是我不小心

escray

Java ruby ruby-on-rails 面试 面经

2020HC大会上,这群人在讨论云原生…

华为云开发者联盟

华为 华为云 大会

关于 UML 类图

西贝

UML 图表

技术解读丨目标检测之RepPoints系列算法

华为云开发者联盟

算法 神经 目标检查

重塑产业+价值共识,区块链助力供应链金融数字化

CECBC

区块链 供应链物链

架构师训练营 - 作业 - 第二周

Max2012

代码重构 - 课后作业

Nick~毓

甲方日常 25

句子

生活 随笔杂谈 日常

谈谈测试

BigBang!

测试的价值 测试文化 测试落地

单例模式

knight

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