SweetAlert2 在定时器后执行函数

SweetAlert2 execute function after timer

我做错了什么?

swal({
    title: "Done.",
    text: "Labels Printed.",
    timer: 1000,
    type: "success",
    showConfirmButton: false

}).then(function () {

    alert('done');

});

警报没有被触发,我是否需要以某种方式捕捉 'timer'? (警报只是一个例子,我实际上是在这里清除我的表格。)

另外,我如何摆脱 textLabels:1 未捕获(承诺)计时器错误?

我正在使用 .done()

有人可以为 SweetAlert2 添加标签吗?我没有这样做的声誉。

米克

当我不想之后发生任何事情时,我需要做什么?:

swal({
    title: "Error.",
    text: "Authorisation Failed.",
    timer: 1000,
    type: "error",
    showConfirmButton: false
}).then(
    function() {}

 )

像这样?:

}).then(
        function() {},
        function() {}
       )

更新(2017 年 11 月 17 日):

v7.0.0 开始,SweetAlert2 的工作方式与问题发起人所期望的完全一样 :)


SweetAlert2 使用承诺。每个承诺都可以 resolvedrejected 并且您可以这样处理它:

swal(…).then(
  function () {
    // handle resolve (confirm button)
  }, 
  function (dismiss) {
    // handle reject, dismiss can be  'cancel', 'overlay', 'close', and 'timer'
  }
)

通过计时器关闭模态被视为拒绝承诺,因此您应该这样处理:

Swal.fire({
  title: 'Auto close alert!',
  text: 'I will close in 2 seconds.',
  timer: 2000
}).then(function() {
  alert('done');
})
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>