如何从API promise获取数据



所以我为API调用创建了一个单独的文件,我的API函数如下:

const API_BASE = 'https://api.themoviedb.org/3/';
const TMDB_API_KEY = '{api_key}';
export async function fetchPopularMovies() {
let url: string = `${API_BASE}movie/popular?api_key=${TMDB_API_KEY}`;
const response = await axios.get(url);
return response.data;
}

正如我所猜测的,这个函数返回了一个promise,所以我想从中获得一个数据

const [movies, setMovies] = useState<IMovie[]>();
useEffect(() =>{
const response = fetchPopularMovies();
setMovies(response);
}, [])

它应该将movies设置为我从函数中得到的响应,但函数是一个promise,所以我不能这样做。我想知道如何获取数据,我在函数内部制作了return response.data,但它返回了promise,因此我试图猜测我可能做错了什么。

使用then

const [movies, setMovies] = useState<IMovie[]>();
useEffect(() =>{
fetchPopularMovies().then((response) => {
setMovies(response);
});
}, [])

最新更新