我需要帮助调用cagedMovies数组,当它被填充时,两个异步函数都完成了。
我一直在尝试console.log cagedMovies,一旦$ .get函数完成,它就是一个对象数组,所以我可以使用该数组来获得更多功能。
当两个函数都完成时,我尝试使用jQuery.when和jQuery.done,虽然我收到警报,但是从Chrome控制台记录的数组表示下面的"值是刚刚评估过的"。 / p>
如何为另一个函数设置cagedMovies数组?
var cagedMovies = [];
$.when(pageLoop(), getMovies()).done(function(){
alert("Done");
console.log(cagedMovies);
});
function pageLoop(){
$.get(movieUrl, function(pageresponse) {
for(var p = 1; p <= pageresponse['total_pages'] + 1; p++){
getMovies(p);
}
});
}
function getMovies(page) {
var p = page;
var movieUrl = "https://api.themoviedb.org/3/discover/movie?api_key=" + apiKey + "&language=en-US&" + sort + "&include_adult=false&include_video=true&page=1&with_people=" + nicolasCage + "&page=" + page;
$.get(movieUrl, function(response) {
for (var m = 0; m < response.results.length; m++){
//Create a Genre array for each movie.
var genre_array = [];
//Set Genre response to a variable
var genre_response = response['results'][m]['genre_ids'];
for (var i = 0; i < genre_response.length; i++) {
// Find the Genre by Genre ID
var genre_obj = getGenreById(genre_response[i]);
genre_array.push(genre_obj[0].name);
};
// function - makeObject
var movieObject = createMovieObject(response['results'][m], genre_array);
cagedMovies.push(movieObject);
};
});
};