在fetch的finally代码块中隐藏按钮不生效该如何解决
问题原因
- 语法错误:
visibility的取值hidden是字符串类型,你的代码未给该值添加引号,JS会将其识别为未声明的变量,抛出引用错误导致赋值操作失效。 - 附加问题:你使用的
restcountries.eu接口已正式停服,即使修复按钮隐藏逻辑,请求也会抛出异常。
修复方案
- 修正finally代码块中的按钮隐藏代码,给字符串值添加引号:
.finally(() => { console.log('按钮已隐藏'); // 隐藏按钮但保留原位置占位空间 btn.style.visibility = 'hidden'; // 如果不需要保留占位空间,可以改用下面的写法,二选一即可 // btn.style.display = 'none'; })
- 若需要接口正常返回数据,可将请求地址替换为新版可用接口:
// 国家信息查询接口替换为 fetch(`https://restcountries.com/v3.1/name/${country}`) // 邻国信息查询接口替换为 fetch(`https://restcountries.com/v3.1/alpha/${neighbour}`)
内容的提问来源于stack exchange,提问作者user13899380
相关产品推荐
相关产品推荐

