写点什么

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

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

关注

评论

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

选择数字资产托管人时,要问的 6 个问题

BlockChain先知

华为云AppCube零门槛搭建5G消息服务号

乌龟哥哥

6月月更

Hoo研究院 | OlympusDao调研报告

区块链前沿News

DAO Hoo 算法稳定

学生管理系统详细架构

intelamd

在这些根技术里,读懂华为的“三观”

脑极体

API 网关 Apache APISIX 在 Amazon Graviton3 上的安装与性能测试

亚马逊云科技 (Amazon Web Services)

apisix;Tech 专栏

数据库每日一题---第6天:删除重复的电子邮箱

知心宝贝

数据库 程序员 前端 后端 6月月更

Redux之利用 distinct 属性进行性能优化

岛上码农

flutter ios 安卓开发 跨平台应用 6月月更

架构设计-外包学生管理系统

Roy

架构实战营

行泊一体方案「换道超车」,百度担当汽车智能化风向标

百度开发者中心

AQUANEE尚处初期,已或币安等顶尖机构青睐

西柚子

AQUANEE尚处初期,已获币安等顶尖机构青睐

BlockChain先知

控制并发线程数的Semaphore

急需上岸的小谢

6月月更

Spring Data JPA 极速入门

Geek_rze78a

spring data 6月月更

数据结构与算法之时间复杂度与空间复杂度

未见花闻

6月月更

1.4 宏观/中观/微观架构(连载)

凌晞

架构 架构设计 架构设计实战

架构实战营第三模块课后作业

Geek_53787a

课后总结

在 Vue3 + Element Plus 中生成动态表格,动态修改表格,多级表头,合并单元格

蒋川

低代码 Vue3 组件 表格 Element Plus

不止于观测|阿里云可观测技术峰会正式上线

阿里巴巴云原生

阿里云 开源 云原生 可观测峰会 行业实践

《阅读的方法》:怎么找阅读的乐趣?

郭明

读书笔记

关于volitile相关知识

北洋

6月月更

java面向对象之多态(向上转型和向下转型)

写代码两年半

面向对象 javase 多态 6月月更

百度APP视频播放中的解码优化

百度开发者中心

leetcode 126. Word Ladder II 单词接龙 II(困难)

okokabcd

LeetCode 搜索 算法与数据结构

OpenKruise v1.2:新增 PersistentPodState 实现有状态 Pod 拓扑固定与 IP 复用

阿里巴巴云原生

阿里云 云原生 开源项目

应用实践 | 物易云通基于 Apache Doris 的实时数据仓库建设

SelectDB

数据库 架构 最佳实践 Doris MySQL 数据库

3分钟初识网络功能虚拟化NFV

穿过生命散发芬芳

6月月更 NFV

python偏函数

红毛丹

Python 6月月更

Vue 组件如何在设置 Props

devpoint

Vue Vue3 InfoQ极客传媒15周年庆

架构实战营模块 3 作业

Naoki

架构实战营

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