RXJS Repeat query until a condition is met?

Charlie

I'm using an API that returns only a limited number of results, say 100.

I'd like to repeat a query until the return result set is < 100 which would mean I've got the last result.

So it would go like this:

  1. Make query
  2. Is result set less than limit? If so, do again and append results.
  3. Once result set is less than limit, emit the final result.
ZahiC

You can use the expand operator for a simple "conditional repeat" behavior.

Just for the example, instead of a result set I changed the query to return a number. The following keep querying until the retrieved number is less than 100

const { defer, empty } = rxjs;
const { expand, toArray} = rxjs.operators;

const query$ = defer(async () =>  Math.floor(Math.random()*1000));
   
query$
  .pipe(
    expand(result => result < 100 ? empty() : query$),
    toArray()
  )
  .subscribe(console.log);
<script src="https://unpkg.com/rxjs/bundles/rxjs.umd.min.js"></script>

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

How can I repeat a Firestore query until a condition is met?

Repeat prompt until condition is met

Rxjs observable wait until some condition is met

rxjs angular call webservice until condition met

Repeat loop step until a condition is met

How to retry a http request until a condition is met using rxjs

use RXJS to keep triggering http calls in angular until a condition is met

Repeat same test until a condition is met and finish execution in Junit

Repeat request until condition is met and return intermediate values

How to repeat CommandButton1 execution until the condition is met?

rxJS observable to repeat call every time condition is met in Angular 2

SQL Query to count number of rows searched until condition is met

Awaitatility, polling until condition is met

Continuos loop until condition is not met

Do action until condition is met

Loop in JavaScript until a condition is met

Collapse Cells until a condition is met

R sample until a condition is met

Javascript looping until condition met

Execute the loop until the condition met

R loop until condition is met

Finding row until condition is met

Repeat request until condition is met in webflux, based on last response's value

Counting rows until a condition is met in R - NAs before the condition is met

Trying to loop an API call until condition is met

python - selenium webdriver wait until condition met

Loop until condition is met or time has elapsed

VBA - Swapping cells until condition is met

For each in list, do operation until condition is met