异步函数的JavaScript问题
我知道在这个主题上已经有很多问题了,但是我不能让我的异步代码工作,我真的需要一些帮助 我有三个函数,每个函数中都有一个AJAX调用。这三个函数最终都返回一个数组。当三个数组最终完成时,我想调用另一个函数showInfo,该函数将三个预先接收的数组作为参数 我犯了什么错异步函数的JavaScript问题,javascript,ajax,asynchronous,async-await,Javascript,Ajax,Asynchronous,Async Await,我知道在这个主题上已经有很多问题了,但是我不能让我的异步代码工作,我真的需要一些帮助 我有三个函数,每个函数中都有一个AJAX调用。这三个函数最终都返回一个数组。当三个数组最终完成时,我想调用另一个函数showInfo,该函数将三个预先接收的数组作为参数 我犯了什么错 showInfo(await getMovies(), await getActors(), await getGenres()); async function getMovies() { //Ajax request
showInfo(await getMovies(), await getActors(), await getGenres());
async function getMovies() {
//Ajax request which eventually returns a 'movie' array
}
async function getActors() {
//Ajax request which eventually returns an 'actor' array
}
async function getGenres() {
//Ajax request which eventually returns a 'genre' array
}
function showInfo(movies, actors, genres){
//process data
}
更新:
我发现了我的错误。getMovies、getActors和getGenres函数不包含承诺。此外,这三个函数不需要异步。但是,包含showInfo调用和wait语句的函数确实如此。我发现了错误。getMovies、getActors和getGenres函数不包含承诺。此外,这三个函数不需要异步。但是,包含showInfo调用和await语句的函数不支持
现在是这样的:
doEverything();
async function doEverything() {
var movies = await getMovies();
var actors = await getActors();
var genres = await getGenres();
showInfo(movies, actors, genres);
}
function getMovies() {
return new Promise(resolve => {
//Ajax request which eventually returns a 'movies' array
});
}
function getActors() {
return new Promise(resolve => {
//Ajax request which eventually returns an 'actor' array
});
}
function getGenres() {
return new Promise(resolve => {
//Ajax request which eventually returns a 'genres' array
});
}
function showInfo(movies, actors, genres) {
//process data
}
是什么让你认为你犯了错误?是否显示了任何错误?假设评论是正确的,您需要提供一个您所展示的内容似乎是正确的。我们不知道情况是否如此。还有,我们不知道你遇到了什么问题。我发现了我的错误。getMovies、getActors和getGenres函数不包含承诺。此外,这三个函数不需要异步。但是,包含showInfo调用和await语句的函数不支持。