Я впервые получил плейлист JSON с видео. Затем я получаю JSON информацию о каждом идентификаторе видео, который был указан в списке воспроизведения. Из каждой видеоинформации JSON я хочу перечислить эскиз видеоролика в div «#container».Почему заказ продолжает меняться при добавлении повторяющихся результатов из json-итерации?
Моя проблема заключается в том, что порядок эскизов меняется каждый раз, когда я нажимаю кнопку «Получить данные JSON». Я посмотрел в консоль, и индивидуальное видео JSON всегда запрашивается в том же порядке, это просто, когда я отправляю информацию из этого JSON, это не в порядке.
Что дает?
$(document).ready(function(){
$("button").click(function(){
//$('p').remove();
$.getJSON("https://api.dailymotion.com/playlist/xy4h8/videos",function(result){
$.each(result.list, function (index, value) {
// console.log(value.id);
$.getJSON("https://api.dailymotion.com/video/"+value.id+"?fields=id,title,thumbnail_medium_url",function(resulted){
$("#container").append(resulted.thumbnail_medium_url + "<br />"); // THIS IS THE BIT ALWAYS OUT OF ORDER
}); // use id of each object in list to get next json
}); // for each of the list object within the playlist result obj
}); // get playlist json
}); // button click
});
Спасибо за любую помощь.
'$ .getJSON' является асинхронным. Для каждого элемента в 'result.list' вы отправляете запрос AJAX с обратным вызовом, который запускается всякий раз, когда заканчивается запрос, который вообще не имеет гарантированного порядка. – Blender