Я пытаюсь создать приложение для карточек, и у меня есть две вещи: массив с данными о каждой карточке и асинхронная функция, которая принимает элемент массива и отображает карточку пользователю. . Как только функция будет выполнена, карта отобразится на экране.
// not actual code, do not debug
const flashcards = [card1, card2, card3] // except way more cards
function showCard(card){
// immediately draws the card
// waits for user interaction
// returns a value when the user is done with the card
}
Я хочу l oop по порядку, но я хочу, чтобы отображалась только одна карта. Проблема в том, что я сделаю это:
// not actual code, do not debug
flashcards.forEach((item) => {
showCard(item)
})
... поскольку функция является асинхронной, браузер отображает все карточки сразу, и все они загромождены и непригодны для использования на экране.
Как я могу oop перекрыть карты таким образом, чтобы каждая карта вытягивалась только после того, как пользователь завершил взаимодействие с предыдущей картой (то есть, когда showCard вернется)?