From 9e136cd5d4f2f4cd443ca7e0a037d1e6dd0b15a8 Mon Sep 17 00:00:00 2001 From: aleen42 Date: Mon, 28 May 2018 15:58:17 +0800 Subject: [PATCH] fix: proper way for inner declaration of a function. #7263 Use a varaible declaration outside a condition block instead, according to https://eslint.org/docs/rules/no-inner-declarations --- lib/web/JsonpMainTemplatePlugin.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/web/JsonpMainTemplatePlugin.js b/lib/web/JsonpMainTemplatePlugin.js index ad069d5313b..2a842025b2a 100644 --- a/lib/web/JsonpMainTemplatePlugin.js +++ b/lib/web/JsonpMainTemplatePlugin.js @@ -154,6 +154,7 @@ class JsonpMainTemplatePlugin { return Template.asString([ "var script = document.createElement('script');", + "var onScriptComplete;", jsonpScriptType ? `script.type = ${JSON.stringify(jsonpScriptType)};` : "", @@ -168,12 +169,7 @@ class JsonpMainTemplatePlugin { ), "}", "script.src = jsonpScriptSrc(chunkId);", - "var timeout = setTimeout(function(){", - Template.indent([ - "onScriptComplete({ type: 'timeout', target: script });" - ]), - `}, ${chunkLoadTimeout});`, - "function onScriptComplete(event) {", + "onScriptComplete = function (event) {", Template.indent([ "// avoid mem leaks in IE.", "script.onerror = script.onload = null;", @@ -196,6 +192,11 @@ class JsonpMainTemplatePlugin { "}" ]), "};", + "var timeout = setTimeout(function(){", + Template.indent([ + "onScriptComplete({ type: 'timeout', target: script });" + ]), + `}, ${chunkLoadTimeout});`, "script.onerror = script.onload = onScriptComplete;" ]); }