我在使 RxJS5 可观察流以我希望的方式运行时遇到问题。
流应该使用 axios 向网站发送 HTTP 请求,如果响应是 HTTP 错误(axios 强制为 JavaScript 错误),则可观察序列应等待 10 毫秒,然后尝试重新发送请求(出于某种原因当您立即重试发送请求并不断抛出错误时,我向其发送请求的网站不喜欢它,但大多数情况下表现良好,延迟 10 毫秒)。
Rx.Observable
.fromPromise(axios('http://example.com/12345'))
.map(x => new Promise((resolve, reject) => {
setTimeout(() => {
resolve(x)
}, 2000)
}))
.debounceTime(2000)
.do(console.log)
.retry(10)
.subscribe(console.log, console.error)
我有一个关于 Codepen 的示例,其中进行了一些更改,以便更清楚地了解流的工作原理:http ://codepen.io/leakyabstractions/pen/pNmvyZ?editors=0010
我尝试使用.delay()
, .debounceTime()
, .timer()
, .timeInterval()
and.timeout()
代替.map()
运算符,但没有任何.map()
效果(包括 )。我究竟做错了什么?