Это может быть либо очень просто, либо довольно сложно, на данный момент я не уверен.
Я пишу небольшое веб-приложение, которое будет создавать расписание кинотеатров на основе API Cineworld.
Я извлекаю данные с помощью AJAX, и это нормально, но я дошел до того, что хочу получить все время для всех выбранных фильмов, а затем перейти к манипулированию ими позже, но объединяя все результаты - это небольшая проблема.
Получившийся API-вызов может быть выполнен только для одного фильма, поэтому мне по очереди нужно извлечь данные для каждого фильма.
Текущее, очень раннее состояние приложения вы можете увидеть здесь: http://www.lewishowles.co.uk/film/
И основные силы в этом файле: http://www.lewishowles.co.uk/film/js/lh.js
Линии 42
и 206
- мои проблемы. 42
всегда записывает пустой массив, но если я каждый раз записываю массив на 206
, это нормально. Регистрация, очевидно, не очень мне поможет. Похоже, что логин 42
не ждет завершения всего кода в функциях над ним.
Как вы можете видеть, я пробовал глобальный массив, я пытался возвращать значения, но, похоже, он слишком быстро запускает журнал.
Отложенное кажется, что обычно так и есть, но каждый раз будет происходить различное количество вызовов ajax, и кажется, что вам нужно знать, сколько использовать Отложенное.
Установка асинхронного на ложное останавливало их срабатывание друг на друга, но это не помогло в этой ситуации.
Две вещи, о которых я могу думать, это использование Session Storage или сокрытие результатов каждого цикла в HTML где-нибудь, к которому мне потом придется обращаться позже, но оба из них, похоже, будут подвержены одним и тем же проблемам.
Еще одна идея - нажать еще одну кнопку, чтобы у данных было время для загрузки, но это добавляет еще один шаг и не является идеальным.
Есть идеи?