Fixed promises and its race conditions

This commit is contained in:
Marcin Kurczewski
2014-10-02 00:30:25 +02:00
parent e1ae4eaa0d
commit 455ae2b881
18 changed files with 113 additions and 59 deletions

View File

@ -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,
};