瀏覽代碼

fix: remove task id from scope when success

Yin Jifeng 3 年之前
父節點
當前提交
3cbf8ed6fa
共有 1 個文件被更改,包括 3 次插入4 次删除
  1. 3 4
      packages/core/src/scopes.rs

+ 3 - 4
packages/core/src/scopes.rs

@@ -1000,12 +1000,11 @@ impl TaskQueue {
     fn remove(&self, id: TaskId) {
         if let Ok(mut tasks) = self.tasks.try_borrow_mut() {
             let _ = tasks.remove(&id);
+            if let Some(task_map) = self.task_map.borrow_mut().get_mut(&id.scope) {
+                task_map.remove(&id);
+            }
         }
-
         // the task map is still around, but it'll be removed when the scope is unmounted
-        if let Some(task_map) = self.task_map.borrow_mut().get_mut(&id.scope) {
-            task_map.remove(&id);
-        }
     }
 
     pub(crate) fn has_tasks(&self) -> bool {