mirror of
https://github.com/rr-/szurubooru.git
synced 2025-07-17 08:26:24 +00:00
Fixed promises and its race conditions
This commit is contained in:
@ -52,7 +52,7 @@ App.Presenters.PagerPresenter = function(
|
||||
pager.setSearchParams(args.searchParams);
|
||||
pager.setPage(args.page || 1);
|
||||
|
||||
retrieve()
|
||||
promise.wait(retrieve())
|
||||
.then(loaded)
|
||||
.fail(loaded);
|
||||
|
||||
@ -62,6 +62,11 @@ App.Presenters.PagerPresenter = function(
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function deinit() {
|
||||
detachNextPageLoader();
|
||||
}
|
||||
|
||||
function prevPage() {
|
||||
pager.prevPage();
|
||||
syncUrl();
|
||||
@ -126,7 +131,7 @@ App.Presenters.PagerPresenter = function(
|
||||
showSpinner();
|
||||
|
||||
return promise.make(function(resolve, reject) {
|
||||
pager.retrieve()
|
||||
promise.wait(pager.retrieve())
|
||||
.then(function(response) {
|
||||
updateCallback(response, forceClear || !endlessScroll);
|
||||
forceClear = false;
|
||||
@ -176,6 +181,10 @@ App.Presenters.PagerPresenter = function(
|
||||
}, 100);
|
||||
}
|
||||
|
||||
function detachNextPageLoader() {
|
||||
window.clearInterval(scrollInterval);
|
||||
}
|
||||
|
||||
function showPageList() {
|
||||
$pageList.show();
|
||||
}
|
||||
@ -224,6 +233,7 @@ App.Presenters.PagerPresenter = function(
|
||||
return {
|
||||
init: init,
|
||||
reinit: reinit,
|
||||
deinit: deinit,
|
||||
setPage: setPage,
|
||||
setSearchParams: setSearchParams,
|
||||
};
|
||||
|
Reference in New Issue
Block a user