【发布时间】:2021-08-16 19:17:31
【问题描述】:
我在 React 中有这个函数,它应该导出从 Axios 的 API 调用获得的结果:
import axios from 'axios'
export function youtube(channelId) {
var config = {
method: 'get',
url: `https://www.googleapis.com/youtube/v3/channels?part=statistics&id=${channelId}&key=AIzaxXXXXXXXXXXXXXXXXXXXXXX`,
headers: { }
};
axios(config)
.then(function (response) {
console.log(response.data.items[0].statistics.subscriberCount)
return response.data.items[0].statistics.subscriberCount
})
.catch(function (error) {
return 0
});
}
问题:它返回未定义。但是 console.log 显示的数据是正确的。
【问题讨论】:
-
不可能,你做错了什么
-
主要区别在于在函数中我使用 axios 进行了外部 API 调用: axios(config) .then(function (response) { console.log(response.data) return response.data } ) .catch(function (error) { return 0 }); -------- console.log 这里有效,但返回值无效
-
您在此处访问承诺,对于异步任务,您需要解决它以返回任何值或使用 async/await 以获得更好的阅读目的
-
它有效!谢谢@NishargShah
标签: javascript reactjs function