【发布时间】:2021-04-13 15:09:42
【问题描述】:
我是一名新程序员,使用 React.js 和 Spotify API 开发音乐应用程序。我正在尝试在 429 速率限制错误响应 (Spotify docs here) 中访问 Retry-After 标头。这是我目前的代码,我从this article 松散地复制了它。
async getArtistArt (artistID) {
let url = `https://api.spotify.com/v1/artists?ids=${artistID}`
let response = await fetch(url, {
headers: {
'Authorization': 'Bearer ' + localStorage.getItem('accessToken')
},
});
let data = await response.json();
if (Object.keys(data)[0] === "error" && data.error.status === 429) { // Handle rate limiting
console.log('Error!');
console.log(data);
for (var pair of data.headers.entries()) {
console.log(pair);
console.log(pair[0]);
}
}
return data;
}
这是我在控制台中看到的:
- screenshot here
- console.log('错误!'); // 记录“错误!”
- console.log(数据); // 记录错误对象,但不记录标头
- console.log(pair) // 错误提示'Uncaught (in promise) TypeError: Cannot read property 'entries' of undefined'
我尝试过不将响应放入 json 中,但这似乎没有效果。
我已经尝试避免使用 try/catch 错误语句,因为我听说它们有些过时并且通常不推荐使用,但我需要它们来访问响应标头吗?
如果有任何建议,我将不胜感激。非常感谢您!
【问题讨论】:
标签: reactjs api header spotify