Skip to content
This repository has been archived by the owner on Dec 30, 2022. It is now read-only.

Commit

Permalink
fix(store): reject wait sync if error occurs
Browse files Browse the repository at this point in the history
Closes: #137
  • Loading branch information
rayrutjes committed Jul 21, 2017
1 parent 2b02c19 commit 9568ddf
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 19 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
},
"dependencies": {
"algoliasearch": "^3.18.1",
"algoliasearch-helper": "^2.14.0",
"algoliasearch-helper": "^2.21.1",
"escape-html": "^1.0.3"
},
"peerDependencies": {
Expand Down
22 changes: 12 additions & 10 deletions src/store.js
Original file line number Diff line number Diff line change
Expand Up @@ -376,22 +376,24 @@ export class Store {
}

waitUntilInSync() {
return new Promise(resolve => {
return new Promise((resolve, reject) => {
if (this._helper.hasPendingRequests() === false) {
resolve();
return;
}

// Todo: we need to de-register the one that is not being triggered.
this._helper.once('searchQueueEmpty', () => {
const resolvePromise = () => {
this._helper.removeListener('error', rejectPromise);
resolve();
});
this._helper.once('error', error => {
throw new Error(error.message);
// Todo: implement rejection once this has a solution
// https://github.com/algolia/algoliasearch-helper-js/issues/502
// reject(error);
});
};

const rejectPromise = error => {
this._helper.removeListener('searchQueueEmpty', resolvePromise);
reject(error);
};

this._helper.once('searchQueueEmpty', resolvePromise);
this._helper.once('error', rejectPromise);
});
}
}
Expand Down
11 changes: 3 additions & 8 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -66,13 +66,12 @@ ajv@^4.7.0, ajv@^4.9.1:
co "^4.6.0"
json-stable-stringify "^1.0.1"

algoliasearch-helper@^2.14.0:
version "2.20.1"
resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-2.20.1.tgz#140bfd5e9059f2982907c02a99634c647396a590"
algoliasearch-helper@^2.21.1:
version "2.21.1"
resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-2.21.1.tgz#577262ad3118e3ba00cd37ae19202878932da25d"
dependencies:
events "^1.1.0"
lodash "^4.13.1"
marked "^0.3.5"
qs "^6.2.1"
util "^0.10.3"

Expand Down Expand Up @@ -3513,10 +3512,6 @@ map-obj@^1.0.0, map-obj@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"

marked@^0.3.5:
version "0.3.6"
resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7"

meow@^3.3.0, meow@^3.7.0:
version "3.7.0"
resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
Expand Down

0 comments on commit 9568ddf

Please sign in to comment.