From 181e14e0f1204acdb620b183e9d3d0538e67a553 Mon Sep 17 00:00:00 2001 From: * <8> Date: Thu, 8 Dec 2022 21:15:09 +0800 Subject: [PATCH] Match-id-a91a7a5cd8ad285d742a7486e28a1da2a994cfa7 --- libs/horizon/src/horizonx/proxy/Observer.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libs/horizon/src/horizonx/proxy/Observer.ts b/libs/horizon/src/horizonx/proxy/Observer.ts index 0db792a0..c898c2b9 100644 --- a/libs/horizon/src/horizonx/proxy/Observer.ts +++ b/libs/horizon/src/horizonx/proxy/Observer.ts @@ -78,7 +78,9 @@ export class Observer implements IObserver { // 对象的属性被赋值时调用 setProp(key: string | symbol): void { const vNodes = this.keyVNodes.get(key); - vNodes?.forEach((vNode: VNode) => { + //NOTE: using Set directly can lead to deadlock + const vNodeArray = Array.from(vNodes || []); + vNodeArray?.forEach((vNode: VNode) => { if (vNode.isStoreChange) { // VNode已经被触发过,不再重复触发 return;