If several angular components have to refresh the same list at the same time, using the same catApi endpoint, several requests are made and all of them load the list of elements. This is a problem for the performance and could be resolved in different ways.
One possibility is to keep running (unresolved) promises until resolution (or rejection) and return it to all subsequent callers if they have the same Search request parameters.