gpt4 book ai didi

javascript - 如果没有特定的 key ,如何处理错误,但应该是

转载 作者:行者123 更新时间:2023-11-29 17:36:10 30 4
gpt4 key购买 nike

我在 https://www.googleapis.com/books/v1/volumes?q=wiedzmin 上使用 fetch。如果您转到此链接,您可以看到它不是第 9 个对象(从第 545 行到第 602 行)中的任何 volumeInfo.authors。它给我一个错误:

Uncaught (in promise) TypeError: Cannot read property 'join' of undefined

我想做一个逻辑,如“如果有错误返回“找不到值”,代码执行将走得更远。

我的一段代码:

fetch("https://www.googleapis.com/books/v1/volumes?q=wiedzmin")
.then(resp => resp.json())
.then(x => {

console.log('AUTHORS: ')
for(let i=0; i <= x.items.length - 1; i++){
console.log(x.items[i].volumeInfo.authors.join(', '))
}

})

最佳答案

你可以尝试检查 x.items[i].volumeInfo.authors 如果它是 undefined 那么默认的空数组让错误不会发生:

fetch("https://www.googleapis.com/books/v1/volumes?q=wiedzmin")
.then(resp => resp.json())
.then(x => {
console.log('AUTHORS: ')
for(let i=0; i <= x.items.length - 1; i++){
console.log((x.items[i].volumeInfo.authors || []).join(', '))
}
})

或者如果你想忽略 x.items[i].volumeInfo.authorsundefined,你仍然可以使用 if:

fetch("https://www.googleapis.com/books/v1/volumes?q=wiedzmin")
.then(resp => resp.json())
.then(x => {
console.log('AUTHORS: ')
for(let i=0; i <= x.items.length - 1; i++){
if(x.items[i].volumeInfo.authors) {
console.log(x.items[i].volumeInfo.authors.join(', '))
} else {
console.log('No value found')
}
}
})

关于javascript - 如果没有特定的 key ,如何处理错误,但应该是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56439062/

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