【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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

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

关注

评论

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

华为云从入门到实战 | 负载均衡服务原理

TiAmo

华为 云开发 10月月更

Go-Excelize API源码阅读(二十三)——SetDocProps、GetDocProps

Regan Yue

Go 开源 源码刨析 10月月更

常见大数据应用场景

穿过生命散发芬芳

大数据 10月月更

Linux下编写ENC28J60网卡驱动,完善网络设备框架

DS小龙哥

10月月更

行业实践:RocketMQ 业务集成典型行业应用和实践

阿里巴巴云原生

阿里云 RocketMQ 云原生

趣学前端」为什么有的页面背景颜色是渐变的

叶一一

CSS 前端 10月月更

「趣学前端」容器上的折角边框是图形吗?

叶一一

CSS 前端 10月月更

「趣学前端」box-shadow的多重用法

叶一一

CSS 前端 10月月更

图解ReentrantLock的条件变量Condition机制

JAVA旭阳

Java 并发 10月月更

B类纯资金业务的资金安全保障

agnostic

资金安全 B类业务 纯资金业务

【一Go到底】第十五天---continue快速入门

指剑

Go golang 10月月更

「趣学前端」页面上吸顶的效果是怎么做到的

叶一一

CSS 前端 10月月更

Serverless的应用场景

阿泽🧸

Serverless 10月月更

ReentrantLock可重入、可打断、锁超时实现原理

JAVA旭阳

Java 并发 10月月更

JavaSE 抽象类和接口

whispar

接口 Java应用 10月月更

「趣学前端」日常浏览的页面为什么可以五颜六色

叶一一

CSS 前端 10月月更

Go-Excelize API源码阅读(二十一)——GetDefinedName()、DeleteDefinedName()

Regan Yue

Go 源码阅读 源码刨析 10月月更

如何在高性能的前提下,降低数据库存储成本?

OceanBase 数据库

Go-Excelize API源码阅读(二十二)——SetAppProps(appProperties *AppProperties)

Regan Yue

Go 开源 源码分析 Excelize 10月月更

前端开发提效小技巧之业务功能篇

叶一一

前端 提高效率 10月月更

super关键字的作用

魏铁锤

10月月更

cstdio的源码学习分析10-格式化输入输出函数fprintf---宏定义/辅助函数分析03

桑榆

源码刨析 10月月更 C++

一文搞懂常见的网络I/O模型

海风极客

网络 网络io 10月月更

搭建Linux下QT开发环境与Android开发环境(嵌入式与PC机)

DS小龙哥

10月月更

面试官:说说你对Node中的Stream的理解

CoderBin

面试 前端 Node 10月月更

浅谈etcd服务注册与发现

海风极客

Go 微服务 etcd 10月月更

Go语言开发小技巧&易错点100例(一)

海风极客

10月月更

用Java实现计算器功能

魏铁锤

10月月更

一文搞懂Go整合captcha实现验证码功能

海风极客

Go Web 安全 10月月更

Apache RocketMQ 在阿里云大规模商业化实践之路

阿里巴巴云原生

Apache 阿里云 云原生 消息队列 商业化

Kafka的客户端NetworkClient如何发起的请求

石臻臻的杂货铺

Kafk 10月月更

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