Before this commit, the result of the load_views was put in the cache, so a load_views could have been triggered multiple times before the first of them returned After this commit, the cahce works as expected and stores the whole Promise We always delete from the cache Promises that are rejected (to let the user re-do it in the hope the situatuion has changed)