From c03de90970a233259f3f0471ab2d28aa029f1b2c Mon Sep 17 00:00:00 2001 From: roymondchen Date: Wed, 9 Oct 2024 15:04:25 +0800 Subject: [PATCH] =?UTF-8?q?fix(editor):=20=E6=9B=B4=E6=96=B0=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E9=85=8D=E7=BD=AE=E5=90=8E=EF=BC=8C=E5=A6=82=E6=9E=9C?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E6=B2=A1=E6=9C=89=E4=BB=BB=E4=BD=95=E4=BE=9D?= =?UTF-8?q?=E8=B5=96=EF=BC=8C=E4=B8=8D=E4=BC=9A=E8=A7=A6=E5=8F=91=E6=94=B6?= =?UTF-8?q?=E9=9B=86=EF=BC=8C=E5=AF=BC=E8=87=B4=E7=94=BB=E5=B8=83=E4=B8=8D?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/editor/src/services/dep.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/editor/src/services/dep.ts b/packages/editor/src/services/dep.ts index e27088c34..eeae15abe 100644 --- a/packages/editor/src/services/dep.ts +++ b/packages/editor/src/services/dep.ts @@ -79,7 +79,9 @@ class Dep extends BaseService { } public collectIdle(nodes: MNode[], depExtendedData: DepExtendedData = {}, deep = false, type?: DepTargetType) { + let startTask = false; this.watcher.collectByCallback(nodes, type, ({ node, target }) => { + startTask = true; idleTask.enqueueTask( ({ node, deep, target }) => { this.collectNode(node, target, depExtendedData, deep); @@ -93,6 +95,11 @@ class Dep extends BaseService { }); return new Promise((resolve) => { + if (!startTask) { + this.emit('collected', nodes, deep); + resolve(); + return; + } idleTask.once('finish', () => { this.emit('collected', nodes, deep); resolve();