Uncaught (in promise) cancel

小知识 09-01 21:10

vue结合element-ui使用confirm时,点击了取消或者是关闭弹窗报了Uncaught (in promise) cancel 错误。
原因:因为使用了element-ui的 this.$confirm方法内置promise方法不能去掉 .catch(),如果没有.catch的话无法获取异常。
解决: .then(res => {...}) .catch(()=>{});(then之后把catch加上)

实例

let _self = this
_self.$confirm('此操作将清空该产品下的所有设备, 是否继续?', '提示', {
 confirmButtonText: '确定',
 cancelButtonText: '取消',
 type: 'warning'
}).then(() = >{
 let fd = qs.stringify({
  pkey: value
 })
 _self.vloading = true axios.post(BaseApi + '/iot/product/delIotProduct', fd).then(function(res) {
 _self.vloading = false;
 if (res.data.code == 0) {
  Vue.prototype.$message({
   message: '删除成功',
   type: 'success'
  })
 _self.hanldeGetProductList();
} else {
  Vue.prototype.$message.error('删除失败:' + res.data.msg)
 }
 })
}).catch(() = >{})