使用spotify API

时间:2017-10-11 01:47:40

标签: api spotify es6-promise

我想从专辑中访问曲目prop及其所有内部道具。使用Spotify JS包装器API。 我按照文档中的建议写了嵌套的promises: https://github.com/JMPerez/spotify-web-api-js

return spotifyApi.getArtistAlbums(id, {limit: 20})
  .then(data => data.items.map( a => spotifyApi.getAlbum(a.id) ))
  .then(album => console.log(album) ) //resolves album but no access to .props 

问题是album.track返回undefined并且我无法访问props内部的任何值,即使承诺正在成功解决。我需要再次映射轨道以提取一些信息。

在此查看控制台图片: Promise resolved

如何才能访问.tracks?或者就此而言,如果链接promises返回undefined,那么解析后的值中的任何道具和嵌套道具?

1 个答案:

答案 0 :(得分:0)

export const START_FETCH_ALBUM_TRACKS = 'START_FETCH_ALBUM_TRACKS'
export const startFetchAlbumTracks = id => dispatch => {
    dispatch( fetchAlbumTracks(id) )
    return spotifyApi.getArtistAlbums(id, {limit: 20})
      .then(data => Promise.all( data.items.map( a => spotifyApi.getAlbumTracks(a.id) ) ))
      .then(data => data.map(json => dispatch( receiveAlbumTracks(json) ) ) )

}

希望这有助于其他人,此代码确实解决了嵌套问题,并为曲目返回json