Javascript 为什么可以';我不能加载API吗?
我将在react应用程序中使用redux调用电影API 在使用redux thunk调用电影API的过程中, 调用lib/THMb路径上的callAPI函数时出错Javascript 为什么可以';我不能加载API吗?,javascript,reactjs,redux,Javascript,Reactjs,Redux,我将在react应用程序中使用redux调用电影API 在使用redux thunk调用电影API的过程中, 调用lib/THMb路径上的callAPI函数时出错 //movie_project/src/lib/THMb.js import axios from 'axios'; const key = "xxxxxxx"; const url = `https://api.themoviedb.org/3/movie/now_playing?api_key=${key}&langu
//movie_project/src/lib/THMb.js
import axios from 'axios';
const key = "xxxxxxx";
const url = `https://api.themoviedb.org/3/movie/now_playing?api_key=${key}&language=ko&page=1®ion=KR`;
export const callAPI = async () =>{
await axios.get(`${url}`);
}
但是,从getMovies函数中调用url时不会发生错误
export const getMovies = () => async dispatch => {
dispatch({ type: GET_MOVIES }); // 요청의 시작을 알림.
try{
//const res = await movieAPI.callAPI(); // failed
// success
const res = await axios.get(`https://api.themoviedb.org/3/movie/now_playing?api_key=xxxxx&language=ko&page=1®ion=KR`);
dispatch({
type: GET_MOVIES_SUCCESS, // 요청 성공
payload: res.data.results, // API 요청 결과 값
})
为什么在第一种情况下会出现错误?这是因为在第一种情况下,您没有返回任何内容。你应该试试这个:
export const callAPI = async () => {
let res = await axios.get(`${url}`);
return res;
}
希望这对你有用。这是因为在第一种情况下,你没有退回任何东西。你应该试试这个:
export const callAPI = async () => {
let res = await axios.get(`${url}`);
return res;
}
希望这对您有用。错误发生在callAPI函数中,而不是getMovies中,因为在有效负载中,您假设res变量从中获取数据,并且您在getMovies函数中成功获取了数据,但在callAPI中没有 因为您没有从callAPI方法返回任何内容,这就是res变量为null并抛出错误的原因 只需将调用API函数替换为以下代码即可
export const callAPI = async () =>{
const res await axios.get(`${url}`);
return res
}
希望它能起作用,试试看。错误发生在callAPI函数中,而不是getMovies中,因为在有效负载中,您假设res变量从中获取数据,并且您在getMovies函数中成功地获取了它,但在callAPI中没有 因为您没有从callAPI方法返回任何内容,这就是res变量为null并抛出错误的原因 只需将调用API函数替换为以下代码即可
export const callAPI = async () =>{
const res await axios.get(`${url}`);
return res
}
希望它能起作用,试试看