写点什么

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

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

关注

评论

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

得物质量度量之“三级指标体系”及其应用实践

得物技术

质量保障 指标监控 工程效能 质量指标 效能平台

2022年中国露营市场专题洞察

易观分析

露营

墨天轮访谈 | 叶金荣:GreatSQL开源社区——做中国广受欢迎的开源数据库

墨天轮

数据库 开源数据库 国产数据库

ABAP BDC常见问题-FICO

桥下本有油菜花

abap

Windows域提权漏洞分析与复现

网络安全学海

网络安全 安全 渗透测试 WEB安全 漏洞挖掘

开发者能力大赏,谁是技术知识达人?

华为云开发者联盟

华为云

React Suspense 尝鲜,处理前后端IO异步操作

葡萄城技术团队

大前端 SpreadJS 表格控件 纯前端表格组件

前后端的爱恨情仇

Liam

前端 后端 Postman 开发工具 swagger

敏捷需求管理篇|如何从0-1写好一个用户故事

云智慧AIOps社区

需求管理 编程效率 用户故事 敏捷管理 需求迭代

PingCAP 与阿里云达成合作 云数据库 TiDB 上线阿里云心选商城

PingCAP

分布式数据库 TiDB

阻塞与非阻塞客户端

Damon

微服务 6月月更

【Spring 学习笔记(十一)】基于注解的Spring AOP

倔强的牛角

Java spring spring aop Java EE 6月月更

通过DAO的现状,看Web3最具影响力的基础设施M-DAO

鳄鱼视界

不会乘法表怎么做乘法?这个远古的算法竟然可以!

博文视点Broadview

Windows/Linux系统下python的安装与环境配置

左手の明天

Python Python库安装 python安装

NLP论文领读|合成数据的妙用:低成本构建高质量的大规模平行语料

澜舟孟子开源社区

人工智能 自然语言处理 数据挖掘 深度学习 nlp

web前端培训JS 运行机制的梳理

@零度

JavaScript 前端开发

焱融科技加入多家行业协会与产业联盟,加速产业互联生态跃迁

焱融科技

易观分析《机器学习平台市场研究,2022》研究报告正式启动

易观分析

机器学习 AI软件

十分钟带汝入门大数据开发语言Scala

百思不得小赵

scala 大数据 6月月更

使用 eBPF 增强监控和可观测性

观测云

盲盒APP开发新玩法,盲盒APP需具备的模块

WDL22119

盲盒商城 盲盒开发 盲盒APP开发 盲盒源码 盲盒H5开发

Java—线程池

武师叔

6月月更

基于宽表的数据建模应用

百度Geek说

大数据 数据建模

解决方案| 快对讲综合调度系统

anyRTC开发者

音视频 快对讲 语音对讲 调度系统 视频对讲

java开发技术培训MyBatis的缓存

@零度

mybatis JAVA开发

ABAP BDC的执行模式和更新模式

桥下本有油菜花

abap

office 2016连接mysql并执行复杂查询

阿呆

MySQL Office

java培训MyBatis动态SQL

@零度

mybatis JAVA开发

盲盒APP开发:如何抓住消费者的心?

WDL22119

盲盒商城 盲盒APP开发 盲盒源码 盲盒H5开发 盲盒小程序

企业级Web应用系统权限设计

BigBang!

权限 权限架构 权限设计

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