From 5491d12ea9cf2480ac205bf070e26d4c951322f9 Mon Sep 17 00:00:00 2001 From: Janicklas Ralph James Date: Mon, 9 Aug 2021 15:19:13 -0700 Subject: [PATCH 1/6] Fix #27747 --- packages/next/client/script.tsx | 15 ++++++++------- test/integration/script-loader/pages/page3.js | 8 ++++++++ test/integration/script-loader/test/index.test.js | 4 ++++ 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/packages/next/client/script.tsx b/packages/next/client/script.tsx index 8968f0e77b19856..0a286de15e3fb03 100644 --- a/packages/next/client/script.tsx +++ b/packages/next/client/script.tsx @@ -56,18 +56,19 @@ const loadScript = (props: ScriptProps): void => { const el = document.createElement('script') const loadPromise = new Promise((resolve, reject) => { - el.addEventListener('load', function () { + el.addEventListener('load', function (e) { resolve() if (onLoad) { - onLoad.call(this) + onLoad.call(this, e) } }) - el.addEventListener('error', function () { - reject() - if (onError) { - onError() - } + el.addEventListener('error', function (e) { + reject(e) }) + }).catch(function (e) { + if (onError) { + onError(e) + } }) if (src) { diff --git a/test/integration/script-loader/pages/page3.js b/test/integration/script-loader/pages/page3.js index 8da988ec5077993..601ad60d0cde5f5 100644 --- a/test/integration/script-loader/pages/page3.js +++ b/test/integration/script-loader/pages/page3.js @@ -15,6 +15,14 @@ const Page = () => { src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.20/lodash.min.js?a=scriptLazyOnload" strategy="lazyOnload" > +