I have a search function that loads data from a REST API and then allocates it to a repeating list. It can take some seconds. The initial results populate quickly which gives the user feedback on whether their search term was what they wanted. Often it might not be so they type a new term and trigger the flow again.
Even though the page variables are cleared immediately on hitting search the original process continues (probably because there are still responses coming from the server). This results in a mix of old and new search results in the list.
Is it possible to just halt the whole flow in order to start from scratch?
Hmm there is no way to stop a flow. Is there a way for you to clear the list variable too when hitting search? Or what I think would be more efficient, is it possible for you to retrieve all data from the start, and then filter it according to the search with the help of e.g. formulas in the repeat-with? Sounds like the issue is in the server being quite slow, so it would be best to get all the data at one time and then do the rest with formulas.
Hi Cecilia, yes the real problem is the server. But it’s the Metropolitan Museum of Art so there is little chance of influencing it! Their API only provides lists of paintings that match the search criteria. You ten have to request each ID to get any data on it. It’s a long interactive process. But as the images start being returned it is often easy to see that the search criteria needs refining, but now the user has to wait for the whole flow/collection to be returned.
I tried clearing both the item list and my accumulated results list but it only clears up to the current point, many requests still be processed don’t stop.
Without being able to abort the whole flow, the user just has to wait for it to complete before they can retry. It seems doubly frustrating.
All I can think of is adding a loading spinner until it’s completed so that at least the user is aware that they have to wait.