Rey*_*una 4 javascript methods try-catch
我解决了一个在 Edge 上但在 Chrome 上不兼容的问题。因此,我使用 Object.assign(a, {}) 而不是 {...a, {}} 进行了更改。
这是我讨论上一个问题的地方: 我想知道为什么我的网站没有显示在 Edge 上?它是在 JavaScript 上开发的
但是,后来我又犯了一个错误。让我给你解释一下。这是控制台上的这个:SCRIPT1005:预期的'('。此错误仅出现在Edge浏览器上。
main.load = function (page) {
function getClass(className) {
return Function('return ' + className)();
}
return new Promise((resolve, reject) => {
try{
new getClass(page);
}catch{ // Here's the: SCRIPT1005: SCRIPT1005: Expected '('; error.
var count = 0;
let script = dom("script",document.createElement("div"));
script.src = `src/pages/${page}/${page}.js`;
document.body.appendChild(script);
return;
}
resolve(getClass(page));
});
}```
I'm trying to look for a way to change some promises and try and catch that are wrapping the line the error is telling me on the console that is wrong.
```try{javascript
new getClass(page);
}catch{ // Here's the: SCRIPT1005: SCRIPT1005: Expected '('; error.
var count = 0;
let script = dom("script",document.createElement("div"));
script.src = `src/pages/${page}/${page}.js`;
document.body.appendChild(script);
return;
}```
SCRIPT1005: Expected '('
Run Code Online (Sandbox Code Playgroud)
Rey*_*una 10
要解决这个问题,只需将处理错误输出的参数添加到 catch 语句中即可。这意味着 Edge 需要知道您正在正确处理错误。
所以,我补充说:
catch (err){}
Run Code Online (Sandbox Code Playgroud)
一切都奏效了!