Recursive loading of categories, fixes #764

This commit is contained in:
James Barnsley
2021-09-05 12:38:06 +12:00
parent 2eec578cd1
commit bdf3ecb9ff

View File

@ -427,10 +427,27 @@ export function getCategories() {
request({ dispatch, getState, endpoint })
.then(
(response) => {
dispatch({
type: 'SPOTIFY_CATEGORIES_LOADED',
categories: formatCategories(response.categories.items),
let results = formatCategories(response.categories.items);
const fetchResults = (resultsEndpoint) => request({
dispatch,
getState,
endpoint: resultsEndpoint,
}).then((response) => {
results = [
...results,
...formatCategories(response.categories.items),
];
if (response.categories.next) {
fetchResults(response.categories.next);
} else {
dispatch({
type: 'SPOTIFY_CATEGORIES_LOADED',
categories: results,
});
}
});
fetchResults(endpoint);
},
(error) => {
dispatch(coreActions.handleException(