From 51ee0b065abb965980e8fe398b568c015e557a2f Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Wed, 18 Jul 2018 22:47:55 -0400 Subject: [PATCH] make getAllDecrypted synchronous --- src/services/cipher.service.ts | 9 +++------ src/services/collection.service.ts | 8 +++----- src/services/folder.service.ts | 9 +++------ 3 files changed, 9 insertions(+), 17 deletions(-) diff --git a/src/services/cipher.service.ts b/src/services/cipher.service.ts index b7b82eece9..053606858c 100644 --- a/src/services/cipher.service.ts +++ b/src/services/cipher.service.ts @@ -181,13 +181,10 @@ export class CipherService implements CipherServiceAbstraction { throw new Error('No key.'); } - const promises: any[] = []; const ciphers = await this.getAll(); - ciphers.forEach((cipher) => { - promises.push(cipher.decrypt().then((c) => decCiphers.push(c))); - }); - - await Promise.all(promises); + for (let i = 0; i < ciphers.length; i++) { + decCiphers.push(await ciphers[i].decrypt()); + } decCiphers.sort(this.getLocaleSortingFunction()); this.decryptedCipherCache = decCiphers; return this.decryptedCipherCache; diff --git a/src/services/collection.service.ts b/src/services/collection.service.ts index 152d91713b..cd259fbc47 100644 --- a/src/services/collection.service.ts +++ b/src/services/collection.service.ts @@ -48,11 +48,9 @@ export class CollectionService implements CollectionServiceAbstraction { return []; } const decCollections: CollectionView[] = []; - const promises: Array> = []; - collections.forEach((collection) => { - promises.push(collection.decrypt().then((c) => decCollections.push(c))); - }); - await Promise.all(promises); + for (let i = 0; i < collections.length; i++) { + decCollections.push(await collections[i].decrypt()); + } return decCollections.sort(Utils.getSortFunction(this.i18nService, 'name')); } diff --git a/src/services/folder.service.ts b/src/services/folder.service.ts index c03cb0c298..b37b97786b 100644 --- a/src/services/folder.service.ts +++ b/src/services/folder.service.ts @@ -78,13 +78,10 @@ export class FolderService implements FolderServiceAbstraction { } const decFolders: FolderView[] = []; - const promises: Array> = []; const folders = await this.getAll(); - folders.forEach((folder) => { - promises.push(folder.decrypt().then((f) => decFolders.push(f))); - }); - - await Promise.all(promises); + for (let i = 0; i < folders.length; i++) { + decFolders.push(await folders[i].decrypt()); + } decFolders.sort(Utils.getSortFunction(this.i18nService, 'name')); const noneFolder = new FolderView();