From 2c8f7e11819cfa34703c0d2320b567b0d34d41de Mon Sep 17 00:00:00 2001 From: Scott Newcomer Date: Tue, 16 Nov 2021 22:32:12 -0600 Subject: [PATCH] Fix bug with destroying when register destructor (#28) --- addon/decorators/stateful-function.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/addon/decorators/stateful-function.js b/addon/decorators/stateful-function.js index f081a02..2e35672 100644 --- a/addon/decorators/stateful-function.js +++ b/addon/decorators/stateful-function.js @@ -2,7 +2,7 @@ import { StatefulPromise } from 'ember-stateful-promise/utils/stateful-promise'; import { CanceledPromise } from 'ember-stateful-promise/utils/canceled-promise'; import { DestroyableCanceledPromise } from 'ember-stateful-promise/utils/destroyable-canceled-promise'; import { tracked } from '@glimmer/tracking'; -import { registerDestructor } from '@ember/destroyable'; +import { registerDestructor, isDestroying } from '@ember/destroyable'; const CANCEL_PROMISE = Symbol('cancele-promise'); @@ -75,6 +75,10 @@ export function statefulFunction(options) { ); } + if (isDestroying(ctx)) { + return; + } + registerDestructor(ctx, () => { handler.reset(); handler.performCount = 0;