- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在视觉效果消失后发出事件。视觉效果持续5秒。这段代码有效,但我认为有更好的解决方案:
Observable.combineLatest(observable1, Observable.of('hold').delay(5000)).subscribe(() => {
alert('ok');
});
当 observable1 被触发时,该事件应该被触发,但不能早于 5 秒。 (如果 observable1 在 6 秒后触发,则此事件应在 6 秒后触发。如果 observable1 在 3 秒后触发,则此事件应在 5 秒后触发)
最佳答案
您所描述的看起来像您需要的withLatestFrom
仅当源发出时才发出:
Observable
.of('hold')
.delay(5000)
.withLatestFrom(observable1, (...values) => values[1])
.subscribe(console.log);
只有延迟的 'hold'
字符串控制此运算符何时从 Observable1
发出最新值。在其源和 Observable1
发出之前,该运算符不会发出任何内容,因此即使 Observable1
在例如之后发出。 6s
您将在 6s
后收到第一个项目。如果情况相反,并且 Observable1
提前发出,它将等待 'hold'
字符串。
如果您对 Observable1
中的值不感兴趣,您可以忽略投影函数并仅使用:
...
.withLatestFrom(observable1)
...
关于rxjs - 如何在 RXJS 中发出不早于指定超时的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44826790/
我有一个 javascript 函数,可以执行以下操作; 它将日期编辑框设置为与另一个日期编辑相同的日期。但是我希望它将 txt_Testin
我有一个输入框,类型为“时间”。我想将迟到时间 (23:00pm) 作为最小值,将早期时间 (6:00am) 作为最大值 - 创建一个 23pm - 6am 的范围。 (即中午 11 点、中午 12
使用 Joda 时间并获得类似以下行为的最简单方法是什么: public boolean check( DateTime checkTime ) { DateTime someTime = n
我想计算 updated_at 比 created_at 早 2 小时的记录。 代码 $teLang = $kentekens->where('updated_at', '>', 'created_a
我是一名优秀的程序员,十分优秀!