2
websocket 연결이되어 있으면 연결 상태가 올바른지 확인하려고합니다. 나는 RxJS와 간격으로하려고합니다. 문제는 하나의 타임 아웃 후에 스트림이 끝나고 이후에 계속 간격을 두어 다시 연결되었는지 확인할 수있게하려는 것입니다. http://jsbin.com/gazuvu/4/edit?js,consoleRxJS : 오류/완료 시간 초과
감사 :
여기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
}
는 또한 간격 "위조"는 함께 라이브 예를!