Вам нужно вернуть ваше обещание:
class MyLib {
constructor() {
}
static askQuestion(title, message){
return Swal.fire({
title: title,
text: message,
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, delete it!'
});
}
}
И, как уже говорили другие, ваш .then(result => {return result;})
был бессмысленным, поэтому его можно удалить.
Затем, когда вы его используете Вы должны передать функцию ссылка на .then()
, поэтому измените это:
MyLib.askQuestion("Are you sure?", "Are you sure ...").then(alert(result));
на это:
MyLib.askQuestion("Are you sure?", "Are you sure ...").then((result) => alert(result));
или это:
MyLib.askQuestion("Are you sure?", "Are you sure ...").then(alert);
И, если Swal.fire()
сможет когда-нибудь отказаться от своего обещания, вам также понадобится .catch()
.