Я один из тех людей, которым нужно знать, как работает код, прежде чем я его использую, и сейчас я пытаюсь понять, насколько определенный паттерн SweetAlert2 даже функционален.
В моем текущем проекте есть немного существующего кода TypeScript, который выглядит примерно так:
async showGetCloseReasonSwal(orderNumber) {
var reason = await Swal.fire({
title: "Order Closing Confirmation",
html: `Please provide a reason for closing #<mark>${orderNumber}</mark>:`,
input: "text",
inputValue: reason,
confirmButtonText: "Close Order",
showCancelButton: true,
cancelButtonText: "Do Not Close",
preConfirm: reason => {
if (reason == "" || reason == null) {
Swal.showValidationMessage("Reason required");
} else return reason;
}
});
return reason;
}
Это работает, но я очень озадачен тем, как reason
может использоваться в значении параметра функции, которая сама устанавливает переменную reason
. Это TypeScript? Преобразователь автоматически преобразует это в два оператора?
Каждое другое упражнение для проверки концепции, которое я сделал, терпит неудачу.