【发布时间】:2018-12-31 22:33:10
【问题描述】:
我有以下内容,它确实有效,它不断增加延迟并最终超时,这正是我想要的。
但是因为我使用的是 Concatmap,所以我失去了区间的原始值。
let x = 1
let source2$ = interval(500)
.pipe(
concatMap(() => {
x++
let newtime = x * 500
console.log("newtime ", newtime)
return of(5).pipe(delay(newtime))
}),
timeout(3000),
map((data) => {
return 'Source 2: ' + data
})
)
所以它打印 Source 2: 5.. 我希望它打印间隔的值。
我使用 concatmap 完成了我想要的工作,但我认为它是错误的运算符,因为我失去了原始值。
有人可以帮忙吗?
更多信息
总而言之,我想做的就是使用间隔发出值,并在每次发出后增加延迟时间 - 最终达到 3000 毫秒的超时并出错。
【问题讨论】:
-
concatMap接收触发其投影功能的值,例如concatMap(value => {}),因此如果您要问的话,您可以稍后value -
是的,我想这会奏效。是否有其他类型的运算符可以让我运行延迟但不返回另一个 observable。我想我有点错误地让它工作了,但我不能停止感觉我做错了
-
我想我不明白你想做什么
-
我更新了消息,总结了我正在尝试做的事情
标签: rxjs observable rxjs6