gpt4 book ai didi

javascript - TypeError : (intermediate value)(. ..) 在自调用函数中未定义

转载 作者:行者123 更新时间:2023-12-03 00:12:39 26 4
gpt4 key购买 nike

所以我读了这个错误后,显然缺少一个分号?但我根本不知 Prop 体在哪里:

 <script>
(() => {
fetch('/testmode')
.then(response => {
return response.json();
}).then(body => {
console.log('testmode:', body);
if (body) {
document.querySelector("link[rel='shortcut icon']").href = "favicon.test.ico";
} else {
document.querySelector("link[rel='shortcut icon']").href = "favicon.ico";
};
});
})().catch(err => {
console.log(err);
});
</script>

我已经在几乎所有地方都放置了分号,以找出它可能丢失的地方,但我就是不会工作。

知道我在这里缺少什么吗?有趣的是,当我编写 async () 时...然后错误消失了,但我无法使用 async,因为并非所有浏览器都支持它。

谢谢

最佳答案

不,没有缺少分号。您刚刚放错了 catch 调用的位置,它应该直接进入 promise 链:

fetch('/testmode').then(response => {
return response.json();
}).then(body => {
console.log('testmode:', body);
document.querySelector("link[rel='shortcut icon']").href = body
? "favicon.test.ico"
: "favicon.ico";
}).catch(err => {
console.log(err);
});

这里甚至不需要 IIFE - 没有需要保护的局部变量。如果您仍想使用其中一个,请包装整个内容:

(() => {
fetch('/testmode').then(response => {
return response.json();
}).then(body => {
console.log('testmode:', body);
document.querySelector("link[rel='shortcut icon']").href = body
? "favicon.test.ico"
: "favicon.ico";
}).catch(err => {
console.log(err);
});
})();

返回中间值:

(() => {
return fetch('/testmode').then(response => {
//^^^^^^
return response.json();
}).then(body => {
console.log('testmode:', body);
document.querySelector("link[rel='shortcut icon']").href = body
? "favicon.test.ico"
: "favicon.ico";
});
})().catch(err => {
console.log(err);
});

关于javascript - TypeError : (intermediate value)(. ..) 在自调用函数中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54654698/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com