Как использовать обещание для одного Swal в цепочке очередей с помощью SweetAlert2

#sweetalert2

Вопрос:

Я пытаюсь связать несколько диалогов подтверждения с SweetAlert2.

На самом деле все диалоги независимы друг от друга и должны просто открываться один за другим. Для каждого из диалогов подтверждения я хочу иметь возможность обрабатывать отдельное обещание.

В примере я видел, что можно добавить global .then() для обработки обещания Swal.queue(). Но это мне пока не помогает, потому что я добавляю элементы очереди в зависимости от условий.

Кроме того, когда один из Свалов был подтвержден, я больше не хочу, чтобы другие в очереди открывались.

В настоящее время я пытаюсь достичь этого с помощью Swal.queue (), как это:

 let modals = [];
let modalStopGame = {
  title: "Stop game?",
  icon: "warning",
  buttons: true,
  dangerMode: true,
  showCancelButton: true,
  cancelButtonText: "Abbrechen",
  confirmButtonText: "Stoppen",
  preConfirm: willStopGame => {
    if (willStopGame) {
      stopGame(bookingId);
      return true;
    }
  },
};
modals.push(modalStopGame);

let modalDeleteBooking = {
  title: "Delete booking?",
  icon: "warning",
  buttons: true,
  dangerMode: true,
  showCancelButton: true,
  cancelButtonText: "Abbrechen",
  confirmButtonText: "Löschen",
  isConfirmed: willDelete => {
    if (willDelete) {
      deleteBooking(bookingId, "");
      return true;
    }
  },
};
modals.push(modalDeleteBooking);

swal.queue(modals); 

Но есть ли более простой способ?
Я хотел бы использовать его, как показано здесь, но тогда открывается только последний объявленный Swal. Те, которые встречались в предыдущем коде, игнорируются…

 swal({
  title: "Stop game?",
  icon: "warning",
  buttons: true,
  dangerMode: true,
}).then((willStopGame) => {
  if (willStopGame) {
    stopGame(bookingId);
    return true;
  }
});
swal({
  title: "Löschen der ganzen Serie?",
  icon: "question",
  buttons: true,
  dangerMode: true,
}).then((willDeleteSeries) => {
  if (willDeleteSeries) {
    deleteBooking(bookingId, seriesId);
    return true;
  }
}); 

Большое спасибо,
Шуркан2