【Vue】vue中使用Element UI的$confirm ,如何在其.then() 方法后执行一个异步方法。

如下所示,在点击删除的确认按钮的时候调后台的api进行删除操作。

【Vue】vue中使用Element UI的$confirm ,如何在其.then() 方法后执行一个异步方法。

confirmDelete(){

let self=this;

let idarr=self.mulId;

let params={

"profileId":idarr

};

return new Promise((resolve,reject)=>{

api.deleteProFile(params).then(res=>{

if(res.errMsg=="Success"){

console.log("删除成功!");

}

resolve(res.errMsg);

})

})

},

async deleteProfiles(){

let self=this;

let data=self.mulSection;

let flag=false;

let msg='当前勾选条件中包含已启用的条件, 是否继续?';

data.forEach(item=>{

self.mulId.push(item.id);

})

this.$confirm(msg, '提示', {

confirmButtonText: '确定',

cancelButtonText: '取消',

type: 'warning'

}).then(() => {

let msgRet=await self.confirmDelete();

if(msgRet=="Success"){

self.notify("删除成功!","success",1000);

}

else{

self.notify("删除失败!","warning",1000);

}

}).catch(() => {

console.log("cancel");

});

},

但是每次点玩确定按钮都走的是catch 部分。然后也并没有执行.then()中的内容。目前想在这个.then() 方法中执行调后台api的删除方法这里该怎么写。

回答

.then(async () => { //  不要忘记加 async

let msgRet= await self.confirmDelete();

if(msgRet=="Success"){

self.notify("删除成功!","success",1000);

}

else{

self.notify("删除失败!","warning",1000);

}

})

楼主,你好~
代码里存在些问题,试试下面:

async deleteProfiles(){

let self=this;

let data=self.mulSection;

let flag=false;

let msg='当前勾选条件中包含已启用的条件, 是否继续?';

data.forEach(item=>{

self.mulId.push(item.id);

})

this.$confirm(msg, '提示', {

confirmButtonText: '确定',

cancelButtonText: '取消',

type: 'warning'

}).then(async () => { // 这里加个 async,可以查下相关文档 async...await

let msgRet=await self.confirmDelete();

if(msgRet=="Success"){

self.notify("删除成功!","success",1000);

}

else{

self.notify("删除失败!","warning",1000);

}

}).catch(() => {

console.log("cancel");

});

},

以上是 【Vue】vue中使用Element UI的$confirm ,如何在其.then() 方法后执行一个异步方法。 的全部内容, 来源链接: utcz.com/a/77471.html

回到顶部