6

I'm using angular2 observable pattern to make http requests. I'm trying to conditional repeat the http get: I want to execute the http get until a condition is met:

http.get('url')
.map(res => {
     // if the condition is met I should repeat the http get request
})
.subscribe()

Is there a way to conditional repeat the http get request?

Thanks, Marco

Marco Antelmi
  • 293
  • 3
  • 13

1 Answers1

9

You can use expand operator. Here's an example:

let request$ = http.get('url');

request$.expand(value => {
  return value !== 0 ? request$ : Rx.Observable.empty()
})
.map(res => {
  //Do mapping here
})
.subscribe()
AhmedRiyad
  • 1,018
  • 9
  • 9