Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么可以';我不能加载API吗?_Javascript_Reactjs_Redux - Fatal编程技术网

Javascript 为什么可以';我不能加载API吗?

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

我将在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}&language=ko&page=1&region=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&region=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
}
希望它能起作用,试试看