2
WebSocket接続があるので、接続が正しければ情報を取得しようとします。私はRxJSとの間隔でやろうとしています。問題は、1つのタイムアウト後にストリームが終了し、後で間隔を維持して、既に再接続されているかどうかを確認できることです。ここでRxJS:エラーなしのタイムアウト
function listenToConnectionLost() {
return rx.Observable
.interval(5000) // every 5 seconds
.flatMap(tryPing)
.distinctUntilChanged()
// so I want to have either "connected" or "timeout" here
// onNext I want to handle the different outputs
;
}
function tryPing() {
var pingPromise = getPingPromise();
var pingObservable = rx.Observable
.fromPromise(pingPromise)
.timeout(5000)
.catch(Rx.Observable.just('timeout')) // catches error, but
// completes the stream
;
return pingObservable;
}
function getPingPromise() {
// returns a promise, which resolves when connection is upright
}
私はまた、 "偽造" 間隔と実際の例があります:http://jsbin.com/gazuvu/4/edit?js,console
感謝を!