如何为 SweetAlert 承诺结果添加事件监听器?

How to add an event listener for a SweetAlert promise result?

我有这个警报功能,我想为此添加一个 addListener,这样如果用户单击“确定”,它就会重定向页面。您如何将此设置为警报中的默认确定按钮?

 function SuccessDelete() {
        swal("Success!", "File successfully deleted.", "success"); 
    }

swal()方法returns一个Promise。当警报关闭时,它会解析为 结果 (confirmed)。当按下 "OK" 按钮时,结果将是 true。如果以任何其他方式关闭,它将是 null:

function SuccessDelete() {
  swal("Success!", "File successfully deleted.", "success").then(function(confirmed) {
    if(confirmed) {
      console.log("Ok button pressed, redirect here...");
    }
  });
}

SuccessDelete();
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>

请参阅 documentation

的“使用承诺”部分

您似乎在使用 SweetAlert2,但语法错误(您忘记了 .fire() 部分。

如果您向它传递一个配置对象,那么它会接受一个 onClose 参数,您可以在其中传递一个回调函数。

function successDelete() {
  swal.fire({
    title: "Success!",
    titleText: "File successfully deleted.",
    html: "success",
    onClose: callback
  });
}

function callback() {
  document.body.style.background = 'black';
}

successDelete();
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@9"></script>

<div id=html></div>