我正在使用React,我需要将一些Api请求存储到变量中,以便可以进行一些修改。
我想做这样的事情:
function getMovies() {
var moviesArr = '';
return fetch('https://api.themoviedb.org/3/movie/now_playing?api_key=4344343' +
'd61a2e5')
.then((response) => response.json())
.then((json) => moviesArr = json);
}
const currentMoviesArray = getMovies() // Then to recieve the movies data
所以const currentMoviesArray最终将把我带回的数据
答案 0 :(得分:0)
而不是将其存储到变量中。您可以将响应设置为一个状态变量,以便可以在组件中的任何位置使用它。
function getMovies() {
return fetch('https://api.themoviedb.org/3/movie/now_playing?api_key=4344343' +
'd61a2e5')
.then((response) => response.json())
.then((json) => this.setState({moviesArr:json});
}
答案 1 :(得分:-1)
函数getMovies()
返回一个Promise。因此,您可以在currentMoviesArray
处理程序中设置then()
的值,也可以使用异步/等待来重构函数,该等待等待一个诺言的建立并返回结果,请参见以下两个选项:>
选项1:
const currentMoviesArray = [];
function getMovies() {
fetch('https://api.themoviedb.org/3/movie/now_playing?api_key=4344343' +
'd61a2e5')
.then((response) => response.json())
.then((movies) => currentMoviesArray.push(movies));
}
选项2:
async function getMovies() {
await fetch('https://api.themoviedb.org/3/movie/now_playing?api_key=4344343' + 'd61a2e5')
.then((response) => response.json());
}
const currentMoviesArray = getMovies();