From 6926ab7b2ac6fe6795fa4ce3f5ecb450fbe70e82 Mon Sep 17 00:00:00 2001
From: TMQ <5112895@qq.com>
Date: Sun, 30 Aug 2020 11:01:29 +0800
Subject: [PATCH] fix: Promise.prototype.finally is object (#16620)
The [finally-polyfill](https://gist.github.com/developit/d970bac18430943e4b3392b029a2a96c) did not expose any values.
![image](https://user-images.githubusercontent.com/15967520/91409583-2f916a00-e878-11ea-86d0-189966ceb83c.png)
---
packages/next/client/index.tsx | 6 ++----
packages/next/package.json | 2 +-
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/packages/next/client/index.tsx b/packages/next/client/index.tsx
index 128e49063e9b5..f1a0fd20127e5 100644
--- a/packages/next/client/index.tsx
+++ b/packages/next/client/index.tsx
@@ -21,6 +21,8 @@ import PageLoader, { looseToArray, StyleSheetTuple } from './page-loader'
import measureWebVitals from './performance-relayer'
import { createRouter, makePublicRouterInstance } from './router'
+require('next/dist/build/polyfills/finally-polyfill.min')
+
///
declare let __webpack_public_path__: string
@@ -41,10 +43,6 @@ declare global {
type RenderRouteInfo = PrivateRouteInfo & { App: AppComponent }
type RenderErrorProps = Omit
-if (!('finally' in Promise.prototype)) {
- ;(Promise.prototype as PromiseConstructor['prototype']).finally = require('next/dist/build/polyfills/finally-polyfill.min')
-}
-
const data: typeof window['__NEXT_DATA__'] = JSON.parse(
document.getElementById('__NEXT_DATA__')!.textContent!
)
diff --git a/packages/next/package.json b/packages/next/package.json
index 8fd2632e8abc2..97f7702d05fd1 100644
--- a/packages/next/package.json
+++ b/packages/next/package.json
@@ -181,7 +181,7 @@
"escape-string-regexp": "2.0.0",
"etag": "1.8.1",
"file-loader": "6.0.0",
- "finally-polyfill": "0.1.0",
+ "finally-polyfill": "0.2.0",
"find-up": "4.1.0",
"fresh": "0.5.2",
"gzip-size": "5.1.1",