Răsfoiți Sursa

fix: workers delete need wait detach debugger

siykt 1 an în urmă
părinte
comite
32febbb6d6
1 a modificat fișierele cu 6 adăugiri și 5 ștergeri
  1. 6 5
      src/workflowEngine/WorkflowEngine.js

+ 6 - 5
src/workflowEngine/WorkflowEngine.js

@@ -392,17 +392,18 @@ class WorkflowEngine {
     await browser.storage.local.set({ workflowQueue });
     await browser.storage.local.set({ workflowQueue });
   }
   }
 
 
-  destroyWorker(workerId) {
-    this.workers.delete(workerId);
-
-    if (this.workers.size === 0) {
+  async destroyWorker(workerId) {
+    // is last worker
+    if (this.workers.size === 1 && this.workers.has(workerId)) {
       this.addLogHistory({
       this.addLogHistory({
         type: 'finish',
         type: 'finish',
         name: 'finish',
         name: 'finish',
       });
       });
       this.dispatchEvent('finish');
       this.dispatchEvent('finish');
-      this.destroy('success');
+      await this.destroy('success');
     }
     }
+    // wait detach debugger
+    this.workers.delete(workerId);
   }
   }
 
 
   async destroy(status, message, blockDetail) {
   async destroy(status, message, blockDetail) {