Show one modal at a time in a loop

I’m trying to show the user a series of data values in a modal and have the userpick an answer, then show the next one.
I’m getting a list of the data back and was planning on showing them one at a time. I’m looping through the list, and all the modals get created all at one.

 this.questionList.forEach((quest) => {
                            //Show each one
                            let showQues = this.modalCtrl.create(QuestionModal, {question: quest}, {enableBackdropDismiss : false});
                            showQues.onDidDismiss( (data) => {
                                alert("Your data is " + data);
                            });
                            showQues.present();
                        });

My liniar background wanted the user to show one modal, let the user do something with it. After its closed show the next modal.

Is this possible?

Trying to change this over to use async and await. New to me.

Pull data waiting from a promise return. (not sure if this is relevant)

.then(
 async results => { 
...

Had to put async here.

Looping through the list now this way.

for (const quest of this.questionList)
{
         await this.questionPopup(quest).then ( result => {
         console.log("Hi there");
       });
}

No matter what I do here it just keeps looping. Trying both with and with out a .then clause.

The popup

async questions Popup (quest: someModel)
    {
          let showQues = this.modalCtrl.create(QuestionModal, {question: quest}, {enableBackdropDismiss : false});
             showQues.onDidDismiss( (data) => {
              alert("Your data is " + data);
              return "done"; // How to know we are done with the modal??? 
            });
             showQues.present();
}

This seems to hit the bottom of the function and think its done without a return. Feels like I’m close.

You don’t show questions in a modal though. You show them in the view itself with the prev and next buttons .