【发布时间】:2017-04-18 02:44:17
【问题描述】:
我正在尝试创建一个 rxjs 主题,该主题将在一段时间不活动后重复其输出。我最初的设计是利用 debounceTime,但是这似乎不会多次触发。
我希望主题在调用next 时立即发射,并定期重复发射,直到提供新值:
Inputs: ---a---------b---------c----
Outputs: ---a---a---a-b---b---b-c---c
目前我有这样的事情:
const subject = new rx.Subject()
subject.debounceTime(5000)
.subscribe(subject)
subject.subscribe(value => console.log(`emitted: ${value}`))
subject.take(1).subscribe(next => next, error => error, () => {
console.log('emitted once')
})
subject.take(2).subscribe(next => next, error => error, () => {
console.log('emitted twice')
})
subject.take(3).subscribe(next => next, error => error, () => {
console.log('emitted thrice')
})
subject.next('a')
但是,这只会发出一次“a”,并且永远不会看到输出“发出三次”。
有人可以帮我理解这里出了什么问题吗?
【问题讨论】:
标签: javascript rxjs