Как правильно отлавливать ошибки в SweetAlert

У меня есть следующий код swal, и он отлично работает, если возвращенный статус для HTTP-вызова равен «200». Но если я получаю неавторизованную ошибку «403», загрузчик ласточки продолжает вращаться, и сообщение никогда не исчезает, как показано ниже. Я не уверен, правильно ли я обрабатываю ошибку.

Вы можете помочь?

введите описание изображения здесь

let that = this;
swal({
  title: 'Are you sure?',
  text: 'You won\'t be able to revert this!',
  type: 'warning',
  showCancelButton: true,
  confirmButtonText: 'Yes, delete it!',
  confirmButtonColor: '#d33',
  cancelButtonText: 'No, keep it',
  showLoaderOnConfirm: true,
  preConfirm: function (email) {
    return new Promise(function (resolve, reject) {

      that.http.get(url, {"headers": headers})
        .map(res => res)
        .subscribe(data => {
          console.log(data);
          if (data.status === 200) {
            resolve();
          } else {
            reject(data.status);
          }
      })          
    })
  },
  allowOutsideClick: false
}).then(function() {
  swal(
    'Deleted!',
    'The user has been deleted.',
    'success'
  )
}, function(dismiss) {
  if (dismiss === 'cancel') {
    swal(
      'Cancelled',
      'Nothing has been deleted!',
      'error'
    )
  }
}).catch((error) => {
  console.log('error_does_not_reach_here', error);
})

person Luis Cabrera    schedule 28.08.2017    source источник


Ответы (1)


Это пример моего кода:

 swal({
                title: "Confirm",
                text: "¿Are you sure?",
                type: "warning",
                showCancelButton: true,
                confirmButtonText: 'Aceptar',
                cancelButtonText: 'Cancelar'
            }).then(function () {
             //If Press ok, send the data
                var arr = {
                    cuil: empDP.fd.Cuil,
                    cct: empDP.fd.Cct,
                    activity: empDP.fd.Activity,                   

                };
                Vue.http.post(empDP.globalurl + "/persondata/save", arr).then(function (response) {
                    swal('Data saved correctly', '', 'success');
                    empDP.clean();
                }, function (response) {
               //If Response return error
                    swal('Show a Text Error', '', 'error');
                });
person Zarkys Salas    schedule 29.07.2018