我正在对Codecademy中用于开发的顶点项目的Spotify API进行查询,但这根本不是涉及React的问题,而仅仅是涉及JavaScript。 (我是一个学习者,但是我的网络搜索仍然让我完全迷失了)
我具有如下搜索功能:
search(searchTerm, _token) {
let tracks = {};
const searchTerms = [
'type=track',
`q=${searchTerm}`
];
const searchUrl = searchEndpoint + '?' + searchTerms.join('&');
return fetch(searchUrl, {
headers: {
Authorization: 'Bearer ' + _token
}
})
.then((response) => {
return response.json()
;
})
.then((jsonResponse) => {
return jsonResponse.tracks.items.map((track) => {
const tracksObj = {
id: track.id,
name: track.name,
artist: track.artists[0].name,
album: track.album.name,
uri: track.uri
};
return tracksObj;
});
});
}
};
请求发送得很好,我什至能够提取数据。但是return语句是一个未决的Promise,但是它具有已实现的值。
当我传递“这一定是地方”和有效的访问令牌并记录函数调用时,结果如下:
现在,如果我在最后一次调用中更改为记录map函数,它将准确记录我要执行的操作。这是代码和日志:
.then((jsonResponse) => {
console.log(jsonResponse.tracks.items.map((track) => {
const tracksObj = {
id: track.id,
name: track.name,
artist: track.artists[0].name,
album: track.album.name,
uri: track.uri
};
return tracksObj;
}));
});
那么...我该如何从return语句中获取值,而不仅仅是promise?
致谢