Когда вы получаете данные, у вас должна быть определена функция обратного вызова для получения этих данных (функция обратного вызова - это функция, которую вы помещаете в addEventListener).Вам просто нужно вызвать функцию для создания вашего стека просмотра после того, как все ваши обратные вызовы были вызваны.
Я бы сделал это, создав поле класса с именем numCallbacks.Увеличивайте эту переменную каждый раз, когда вызывается один из ваших обратных вызовов.Сразу после увеличения его, проверьте, если numCallbacks == количество ваших обратных вызовов.Если true, создайте свой стек просмотра.