From 682bbd0e7212df0bfe1d8017284e2822d281f7ea Mon Sep 17 00:00:00 2001 From: Ricky Date: Thu, 15 Jul 2021 12:39:56 -0400 Subject: [PATCH] Cache local reference to global Promise (#21886) --- packages/react-dom/src/client/ReactDOMHostConfig.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/react-dom/src/client/ReactDOMHostConfig.js b/packages/react-dom/src/client/ReactDOMHostConfig.js index bad70b6ba9..43f5077932 100644 --- a/packages/react-dom/src/client/ReactDOMHostConfig.js +++ b/packages/react-dom/src/client/ReactDOMHostConfig.js @@ -392,6 +392,7 @@ export const scheduleTimeout: any = export const cancelTimeout: any = typeof clearTimeout === 'function' ? clearTimeout : (undefined: any); export const noTimeout = -1; +const localPromise = Promise; // ------------------- // Microtasks @@ -400,9 +401,10 @@ export const supportsMicrotasks = true; export const scheduleMicrotask: any = typeof queueMicrotask === 'function' ? queueMicrotask - : typeof Promise !== 'undefined' + : typeof localPromise !== 'undefined' ? callback => - Promise.resolve(null) + localPromise + .resolve(null) .then(callback) .catch(handleErrorInNextTick) : scheduleTimeout; // TODO: Determine the best fallback here.