reactjs - Reactjs 未处理的拒绝(TypeError):无法使用 spotify api 读取未定义的属性“地图”
问题描述
我无法意识到我的 api 获取有什么问题。冷你请阅读代码,看看发生了什么。我初始化了变量,但仍然未定义属性映射。错误在第 6 行 let trackDataPromises =playlists.map
fetch('https://api.spotify.com/v1/me/playlists', {
headers: {'Authorization': 'Bearer ' + accessToken}
}).then(response => response.json())
.then(playlistData => {
let playlists = playlistData.items
let trackDataPromises = playlists.map(playlist => {
let responsePromise = fetch(playlist.tracks.href, {
headers: {'Authorization': 'Bearer ' + accessToken}
})
let trackDataPromise = responsePromise
.then(response => response.json())
return trackDataPromise
})
let allTracksDataPromises =
Promise.all(trackDataPromises)
let playlistsPromise = allTracksDataPromises.then(trackDatas => {
trackDatas.forEach((trackData, i) => {
playlists[i].trackDatas = trackData.items
.map(item => item.track)
.map(trackData => ({
name: trackData.name,
duration: trackData.duration_ms / 1000
}))
})
return playlists
})
return playlistsPromise
})
.then(playlists => this.setState({
playlists: playlists.map(item => {
return {
name: item.name,
imageUrl: item.images[0].url,
songs: item.trackDatas.slice(0,3)
}
})
}))
解决方案
推荐阅读
- type-conversion - Octave - 将数字字符串从 CSV 导入文件转换为数字矩阵
- python - 不支持延迟对象的真相
- javascript - 如何在html中实现异步管道但在返回数据时仍然能够调用函数
- angular - 在执行下一行之前保证来自 observable 的响应
- javascript - 为什么这个 jQuery 翻转功能会出现图像错误?
- php - 对于特定国家/地区,用 Woocommerce 结帐中选择的州值替换城市
- java - 在 Spring MVC 中,当我点击 CURL 然后在 Spring MVC 中出现错误
- mysql - 使用 TimeDiff 获取列的平均时间
- python - 从 PyCharm 骨架生成器中移除环境
- php - 将 PHP 变量(数字)限制为 100