diff options
-rw-r--r-- | src/models/Service.js | 1 | ||||
-rw-r--r-- | src/stores/ServicesStore.js | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/models/Service.js b/src/models/Service.js index 423510c7d..bafb3f564 100644 --- a/src/models/Service.js +++ b/src/models/Service.js | |||
@@ -6,6 +6,7 @@ export default class Service { | |||
6 | id = ''; | 6 | id = ''; |
7 | recipe = ''; | 7 | recipe = ''; |
8 | webview = null; | 8 | webview = null; |
9 | timer = null; | ||
9 | events: {}; | 10 | events: {}; |
10 | 11 | ||
11 | isAttached = false; | 12 | isAttached = false; |
diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js index 20e07e540..349a609a1 100644 --- a/src/stores/ServicesStore.js +++ b/src/stores/ServicesStore.js | |||
@@ -589,12 +589,16 @@ export default class ServicesStore extends Store { | |||
589 | const delay = 1000; | 589 | const delay = 1000; |
590 | 590 | ||
591 | if (service) { | 591 | if (service) { |
592 | if (service.timer !== null) { | ||
593 | clearTimeout(service.timer) | ||
594 | } | ||
595 | |||
592 | const loop = () => { | 596 | const loop = () => { |
593 | if (!service.webview) return; | 597 | if (!service.webview) return; |
594 | 598 | ||
595 | service.webview.send('poll'); | 599 | service.webview.send('poll'); |
596 | 600 | ||
597 | setTimeout(loop, delay); | 601 | service.timer = setTimeout(loop, delay); |
598 | }; | 602 | }; |
599 | 603 | ||
600 | loop(); | 604 | loop(); |