写点什么

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

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

关注

评论

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

初探 Lambda Powertools TypeScript

亚马逊云科技 (Amazon Web Services)

typescript Serverless Lambda AWS

世界读书日:我想推荐这几本书

宇宙之一粟

书籍推荐 书单 4月月更

顶级元宇宙游戏Plato Farm,近期动作不断利好频频

小哈区块

[Day22]-[链表]相交链表

方勇(gopher)

链表 LeetCode 算法和数据结构

LabVIEW控制电脑关机、休眠、注销和重启

不脱发的程序猿

LabVIEW LabVIEW控制电脑

[Day23]-[数据结构]手写LRU

方勇(gopher)

LeetCode LRU 数据结构算法

解锁OpenHarmony技术日!年度盛会,即将揭幕!

OpenHarmony

大会 OpenHarmony

Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day39

爱好编程进阶

Java 面试 后端开发

redis优化系列(二)Redis主从原理、主从常用配置

乌龟哥哥

4月月更

我是如何用 Amazon Serverless 创建一个门铃的

亚马逊云科技 (Amazon Web Services)

Serverless Lambda AWS showdev

Java泛型机制详解;这些你都知道吗?

爱好编程进阶

Java 面试 后端开发

一个快速追踪密切接触者的开源脚本方案

冯骐

Python 数据分析 流调 密接 新冠疫情

2021年秋招,薪资排行NO

爱好编程进阶

Java 面试 后端开发

Java单例模式实现,一次性学完整,面试加分项

爱好编程进阶

Java 面试 后端开发

Java语言特点

爱好编程进阶

Java 面试 后端开发

读《Software Engineering at Google》(14)

术子米德

架构师成长笔记

Choreographer全解析

爱好编程进阶

Java 面试 后端开发

Plato Farm-以柏拉图为目标的农场元宇宙游戏

西柚子

解决方案架构师的小锦囊 - 架构图的 5 种类型

亚马逊云科技 (Amazon Web Services)

技术 职业 亚马逊云科技

Java 线程池原理分析

爱好编程进阶

Java 面试 后端开发

LabVIEW实现应用程序停止或退出

不脱发的程序猿

LabVIEW

自动化的艺术

俞凡

架构 大厂实践 PayPal

采用百度飞桨EasyDL完成指定目标识别

DS小龙哥

4月月更

在docker上编译openjdk8

程序员欣宸

Java JVM 4月月更

将新增和编辑的数据同步更新到列表

岛上码农

flutter ios开发 安卓开发 4月月更 跨平台开发

22道Java Spring Boot高频面试题

爱好编程进阶

Java 面试 后端开发

AtomicIntegerArray源码分析与感悟

爱好编程进阶

Java 面试 后端开发

Java 结合实例学会使用 静态代理、JDK动态代理、CGLIB动态代理

爱好编程进阶

Java 面试 后端开发

“亿”点点技术情怀

不脱发的程序猿

程序员 程序人生 技术情怀

k8s client-go源码分析 informer源码分析(1)-概要分析

良凯尔

Kubernetes 容器 云原生 Client-go

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