timeoutWith

RxJS 5 timeoutWith

by Huy Le

HTML

<script src="https://unpkg.com/rxjs/bundles/Rx.min.js"></script>

JavaScript

// simulate request
function makeRequest(timeToDelay) {
  return Rx.Observable.of('Request Complete!').delay(timeToDelay);
}

Rx.Observable.of(4000, 3000, 2000)
  .concatMap(duration =>
    makeRequest(duration)
      .timeoutWith(2500, Rx.Observable.of(`Request timed out after: ${duration}`))
      
  )
  /*
  *  "Request timed out after: 4000"
  *  "Request timed out after: 3000"
  *  "Request Complete!"
  */
  .subscribe(console.log);