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() {