我有一个名为 的函数sweetAlertConfirmationMessage。它接受一条消息,将其显示为文本,然后等待用户确认或取消弹出警报。
function sweetAlertConfirmationMessage(message) {
Swal.fire({
title: T('SWEETALERT_GENERAL_CONFIRMATION_TITLE'),
text: message,
icon: 'warning',
showCancelButton: true,
confirmButtonColor: T('SWEETALERT_CONFIRM_BUTTON_COLOR'),
cancelButtonColor: T('SWEETALERT_CANCEL_BUTTON_COLOR'),
cancelButtonText: T('SWEETALERT_CANCEL_BUTTON_TEXT'),
confirmButtonText: T('SWEETALERT_CONFIRM_BUTTON_TEXT'),
})
.then(result => {
return new Promise(function (resolve, reject) {
resolve(true);
});
})
.catch(result => {
console.log(result);
});
}
我想要实现的目标如下:
sweetAlertConfirmationMessage(T('SWEETALERT_MESSAGE_DELETE_PRODUCT_FROM_CART'))
.then(
// Run code here.
)
但是,我收到以下错误:
未捕获(承诺中)类型错误:无法读取未定义的属性“then”
这是我观察到正在发生的事情:
sweetAlertConfirmationMessage 方法已运行。
在 Promise 被解决之前,代码继续离开函数,进入 .then(// Run code here)
.then 没有运行,因为它没有承诺采取行动
它显示通知消息并等待用户确认或取消。
console.log(结果) 不显示任何内容。
我研究了以下主题:
异步和等待
Promise、.then 和 .catch
承诺链
如何以所需的顺序执行此代码:
显示确认消息
等待承诺:如果确认则为 true,如果单击其他任何内容则为未定义
运行 .then ( // 在此处运行代码 )
我希望这个答案写得足够好,以帮助将来的其他人。
森栏
相关分类