组合最新第一个事件未触发

2024-03-09

我想知道我的应用程序何时离线并重新上线。我在以下位置注册了以下事件rxjs:

const online = Rx.Observable.fromEvent(window, 'online');
const offline = Rx.Observable.fromEvent(window, 'offline');

const source = Rx.Observable.combineLatest(online, offline).map(() => navigator.onLine);

source.subscribe(result => {
  console.log('I\'m online: ' + (result ? 'jup' : 'nope'));
});

但是,当我第一次离线时,事件不会被触发,尽管如果我添加常规的addEventListener我看到它们触发得很好:

window.addEventListener('online', () => console.log('online triggered'));
window.addEventListener('offline', () => console.log('offline triggered'));

看一眼这个jsbin http://jsbin.com/zegidegiba/edit?js,console例如,通过 devtools 切换你的网络,你会看到第一次它不会记录I'm online: ....


The combineLatest运算符要求所有源 Observables 发出至少一个值。

对于您来说,这意味着您应该初始化每个流,然后只监听更改:

const source = Rx.Observable.combineLatest(
    online.startWith(null),
    offline.startWith(null),
  )
  .skip(1)
  .map(() => navigator.onLine)

也许你甚至不需要使用skip(1)如果你想知道初始状态navigator.onLine.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

组合最新第一个事件未触发 的相关文章

随机推荐

  • 如何在弹性搜索中对多个索引的结果进行排序和限制

    我有 4 个索引 分别称为index1 idndex2 index3 和index4 假设结果集中有数百个结果 现在我只想 top 10 rows result from index1 top 10 rows result from ind
  • 比较 R 中的两个表以查找客户未购买的产品

    我有两个表如下 Cust list lt data frame stringsAsFactors FALSE Customer c Mike S Tim P Type c Shoes Socks Product ID c 233 6546
  • 在 Android 中将 JSON 对象传递给 parse.com

    这是一个相当简单的问题 但由于我没有使用 parse com Android 内置 SDK 所以我陷入了困境 我试图通过 Android 中的以下内容将数据传递到 parse com 即使该对象是在没有数据的情况下创建的 但当我包含数据时它
  • 软件“发行版”和“版本”之间有什么区别(如果有)?

    标题说明了一切 软件 发行版 和 版本 之间有什么区别 如果有 这两个定义有重叠吗 是否所有版本和候选版本都是版本 但并非所有版本都是版本 这是一个简单的解释 构建 可执行文件或通过编译源代码创建的库 版本 软件版本 新版本是不同的版本 发
  • GroupBy - 如何使用 diff() 从 DateTime 中提取秒数

    我有以下数据框 In 372 df 2 Out 372 A ID3 DATETIME 0 B 028 b76cd912ff 2014 10 08 13 43 27 1 B 054 4a57ed0b02 2014 10 08 14 26 19
  • 如何以编程方式锁定 BLACKBERRY 设备(6.0)?

    如何以编程方式锁定黑莓设备 6 0 有一个API叫做 ApplicationManger locksystem true 但在 6 0 中已不再使用 根据BlackBerry OS 7 1 API 文档 http www blackberr
  • 无法使用 TagBuilder 组合标签

    我正在尝试构建一个组合标签 第一个标签 span class requiredInidicator span 第二个标签
  • 访问另一个 osgi 包中的资源?

    我使用 eclipse 插件项目向导 使用 eclipse Helios 创建了两个 OSGI 包 A 和 B 在捆绑包 B 的清单文件中 我添加了捆绑包 A 作为依赖项 此外 我已导出 A 中的包 以便它们对 B 可见 我在捆绑包 A 中
  • 一列中有多个值的 SQL 查询

    我一直在桌子上敲着头试图解决这个问题 我有一个表 用于存储作业信息以及作业未完成的原因 原因为数字 01 02 03 等 待处理的工作可能有两个原因 如果您选择两个原因 它们将存储在同一列中 并以逗号分隔 这是一个来自JOBID table
  • .one() 和 .scalar() 有什么区别

    之间的主要区别是什么 one and scalar 在 SQLAlchemy 中 因为两者都执行相同的工作 我看到一些网站 例如教程点 com https www tutorialspoint com sqlalchemy sqlalche
  • 从已建立的 SqlConnection 确定 TLS 版本

    在实时系统中 我们使用以下命令与各种 MSSQL 服务器建立多个连接SqlConnectionC 中的对象 由于客户端正在将其 SQL 服务器更新到 TLS 1 2 我想知道是否有办法确定活动连接上正在使用哪种 TLS 实现 如果可能的话
  • List 上的 Any() 方法无法按预期工作

    我正在 winforms 中开发 net 4 6 这里的代码来自测试控制台应用程序 有一次我有一张清单DateTime我需要弄清楚这个列表是否包含特定日期 为此我正在尝试使用Any 在名单上 即使列表确实包含所需的日期 Any 回报fals
  • 自动换行不适用于 UILabel

    使用自动布局我无法在代码中覆盖我的标签 我已经在 IB 中设置了标签属性 Lines 0 LineBreaks Word Wrap 但我将高度设置为单行 因为选择的单元格决定了标签中的文本内容 所以有时标签只有一行 在我看来DidLoad
  • 日期格式中月份和日期的固定长度?

    有没有什么方法可以将日期对象格式化为固定长度的日和月 以便在列中良好对齐 例如 15 May 2010 10 January 2010 代替 15 May 2010 10 January 2010 Thanks 看看java util Fo
  • 通过 C++ 程序在 PowerShell 中打印 unicode 字符

    我的最终目标是通过 C 程序将一些非拉丁文本输出写入 Windows 中的控制台 cmd exe 对我毫无帮助 所以我得到了最新的 闪亮的 PowerShell 版本 支持 unicode 我已经确认我可以 输入非 unicode 字符和
  • jQuery - 如何检查特定 DIV 中是否单击了任何链接?

    在 HTML 代码中 我的页面包含 div a href Link1 a a href Link2 a div div a href Link info a a href My profile a div div a href Link1
  • Flask 和 sys.excepthook

    我想将全局异常处理对象添加到我的 Flask web 项目中 在创建应用程序类的主模块中 我添加了代码来覆盖sys excepthook 这是简单的测试代码 import sys def my exception hook exceptio
  • 字符串分词器、分隔符

    我正在使用这段代码 StringTokenizer tokenizer new StringTokenizer line 分割以下字符串 hi my name is visghal what is yor name name being t
  • after_initialize 和 after_find 回调在 Active Record 对象生命周期中的顺序?

    来自 Rails 指南 回调可以挂接到 Active Record 对象的生命周期中 按照执行顺序 它们是 从 Rails Guides 复制的 创建对象 before validation after validation before
  • 组合最新第一个事件未触发

    我想知道我的应用程序何时离线并重新上线 我在以下位置注册了以下事件rxjs const online Rx Observable fromEvent window online const offline Rx Observable fro