From 61b34e779efb8f580a70994cd0b3141ac5ac5537 Mon Sep 17 00:00:00 2001 From: Rick Hanlon Date: Thu, 15 Jul 2021 11:29:02 -0400 Subject: [PATCH] Cache local reference to global Promise --- 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 bad70b6ba996..43f507793261 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.