diff --git a/experimental/javascript-wc-indexeddb/dist/src/workload-test.mjs b/experimental/javascript-wc-indexeddb/dist/src/workload-test.mjs index 47f5a3364..815c681f4 100644 --- a/experimental/javascript-wc-indexeddb/dist/src/workload-test.mjs +++ b/experimental/javascript-wc-indexeddb/dist/src/workload-test.mjs @@ -65,14 +65,8 @@ const suites = { new BenchmarkStep("DeletingAllItems", async () => { const numberOfItemsPerIteration = 10; const numberOfIterations = 10; - function iterationFinishedListener() { - iterationFinishedListener.promiseResolve(); - } - window.addEventListener("previous-page-loaded", iterationFinishedListener); + const waitForPreviousPageLoaded = () => new Promise((resolve) => window.addEventListener("previous-page-loaded", resolve, { once: true })); for (let j = 0; j < numberOfIterations; j++) { - const iterationFinishedPromise = new Promise((resolve) => { - iterationFinishedListener.promiseResolve = resolve; - }); const todoList = document.querySelector("todo-app").shadowRoot.querySelector("todo-list"); const items = todoList.shadowRoot.querySelectorAll("todo-item"); for (let i = numberOfItemsPerIteration - 1; i >= 0; i--) { @@ -80,6 +74,7 @@ const suites = { item.click(); } if (j < 9) { + const iterationFinishedPromise = waitForPreviousPageLoaded(); const previousPageButton = document.querySelector("todo-app").shadowRoot.querySelector("todo-bottombar").shadowRoot.querySelector(".previous-page-button"); previousPageButton.click(); await iterationFinishedPromise; diff --git a/experimental/javascript-wc-indexeddb/src/workload-test.mjs b/experimental/javascript-wc-indexeddb/src/workload-test.mjs index 66784deec..d1e7504ad 100644 --- a/experimental/javascript-wc-indexeddb/src/workload-test.mjs +++ b/experimental/javascript-wc-indexeddb/src/workload-test.mjs @@ -65,14 +65,8 @@ const suites = { new BenchmarkStep("DeletingAllItems", async () => { const numberOfItemsPerIteration = 10; const numberOfIterations = 10; - function iterationFinishedListener() { - iterationFinishedListener.promiseResolve(); - } - window.addEventListener("previous-page-loaded", iterationFinishedListener); + const waitForPreviousPageLoaded = () => new Promise((resolve) => window.addEventListener("previous-page-loaded", resolve, { once: true })); for (let j = 0; j < numberOfIterations; j++) { - const iterationFinishedPromise = new Promise((resolve) => { - iterationFinishedListener.promiseResolve = resolve; - }); const todoList = document.querySelector("todo-app").shadowRoot.querySelector("todo-list"); const items = todoList.shadowRoot.querySelectorAll("todo-item"); for (let i = numberOfItemsPerIteration - 1; i >= 0; i--) { @@ -80,6 +74,7 @@ const suites = { item.click(); } if (j < 9) { + const iterationFinishedPromise = waitForPreviousPageLoaded(); const previousPageButton = document.querySelector("todo-app").shadowRoot.querySelector("todo-bottombar").shadowRoot.querySelector(".previous-page-button"); previousPageButton.click(); await iterationFinishedPromise;