From 18c98cdfe7a4cf74e659f66e49a0a7a1ecc6f520 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Tue, 25 Jul 2023 16:18:44 +0200 Subject: [PATCH] create new promise each time, to ensure the promise gets resolved with latest instance. --- .../src/libs/context-api/consume/context-consumer.ts | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/libs/context-api/consume/context-consumer.ts b/src/Umbraco.Web.UI.Client/src/libs/context-api/consume/context-consumer.ts index b5246b4bf2..9bd3d7699a 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/context-api/consume/context-consumer.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/context-api/consume/context-consumer.ts @@ -13,7 +13,6 @@ import { UmbContextRequestEventImplementation, UmbContextCallback } from './cont */ export class UmbContextConsumer { #callback?: UmbContextCallback; - #promise?: Promise; #promiseResolver?: (instance: T) => void; #instance?: T; @@ -51,12 +50,9 @@ export class UmbContextConsumer { }; public asPromise() { - return ( - this.#promise || - (this.#promise = new Promise((resolve) => { - this.#instance ? resolve(this.#instance) : (this.#promiseResolver = resolve); - })) - ); + return new Promise((resolve) => { + this.#instance ? resolve(this.#instance) : (this.#promiseResolver = resolve); + }); } /** @@ -107,7 +103,6 @@ export class UmbContextConsumer { public destroy() { this.hostDisconnected(); this.#callback = undefined; - this.#promise = undefined; this.#promiseResolver = undefined; this.#instance = undefined; }