From 598dc991e8c497c7806b72ed93ef0a63927241da Mon Sep 17 00:00:00 2001 From: Jesse Lucas Date: Tue, 24 Mar 2020 13:17:32 -0400 Subject: [PATCH] complete observers --- src/app/folder.service.ts | 7 ++++--- src/app/system-config.service.ts | 4 +++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/app/folder.service.ts b/src/app/folder.service.ts index 72508c380..e9ee24dce 100644 --- a/src/app/folder.service.ts +++ b/src/app/folder.service.ts @@ -19,7 +19,8 @@ export class FolderService { getFolderStatusInOrder(observer: Subscriber, startIndex: number) { // Return if there aren't any folders at the index if (startIndex >= (this.folders.length - 1)) { - return + observer.complete(); + return; } const folder: Folder = this.folders[startIndex]; @@ -41,7 +42,6 @@ export class FolderService { */ getAll(): Observable { const folderObservable: Observable = new Observable((observer) => { - this.systemConfigService.getFolders().subscribe( folders => { this.folders = folders; @@ -49,7 +49,8 @@ export class FolderService { // Synchronously get the status of each folder this.getFolderStatusInOrder(observer, 0); }, - err => { console.log("getAll error!", err) } + err => { console.log("getAll error!", err) }, + () => { console.log("get all complete!") } ); }); return folderObservable diff --git a/src/app/system-config.service.ts b/src/app/system-config.service.ts index de5435010..8a9dd57d8 100644 --- a/src/app/system-config.service.ts +++ b/src/app/system-config.service.ts @@ -45,12 +45,14 @@ export class SystemConfigService { const folderObservable: Observable = new Observable((observer) => { if (this.folders) { observer.next(this.folders); + observer.complete(); } else { // create timer to keep checking for folders let t = setInterval(() => { if (this.folders) { clearInterval(t); - observer.next(this.folders); + observer.next(this.folders) + observer.complete(); } }, this.checkInterval); }