Angular2 observable http get conditional repeat

2019-05-03 22:53发布

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

1条回答
放我归山
2楼-- · 2019-05-03 23:36

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()
查看更多
登录 后发表回答