From b0dcb256a77242c092dea4ef9fba8afe8bc01603 Mon Sep 17 00:00:00 2001 From: EnixCoda Date: Sun, 15 May 2022 01:17:20 +0800 Subject: [PATCH] chore: use cancel in one time listener --- src/utils/VisibleNodesGenerator/index.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/utils/VisibleNodesGenerator/index.ts b/src/utils/VisibleNodesGenerator/index.ts index 941b321..67803e7 100644 --- a/src/utils/VisibleNodesGenerator/index.ts +++ b/src/utils/VisibleNodesGenerator/index.ts @@ -351,10 +351,11 @@ export class VisibleNodesGenerator extends FlattenLayer { onNextUpdate(callback: (visibleNodes: VisibleNodes) => void) { const oneTimeSubscription = (visibleNodes: VisibleNodes) => { + cancel() callback(visibleNodes) - this.hub.removeEventListener('emit', oneTimeSubscription) } - return this.hub.addEventListener('emit', oneTimeSubscription) + const cancel = this.hub.addEventListener('emit', oneTimeSubscription) + return cancel } update() {