/**
* @description: 测试promise的return
* @return {*}
*/
promiseTest() {
return new Promise((resolve, reject) => {
const a=12
if (a == 2) {
resolve("成功");
} else {
reject("失败");
}
});
},
async getPromiseTest() {
let res = await this.promiseTest();
console.log("res: ", res);
},
当是reject情况时,res没有打印,控制台直接报错
要在失败时做一些操作
javascript
async confirm() {
try {
switch (this.type) {
case 1:
await deleteActivity({ id: this.Lid });
break;
case 2:
await deleteBarrier({ id: this.Lid });
break;
case 3:
await deleteById({ id: this.Pid, barrierId: this.levelId });
break;
}
// 删除成功,关闭弹窗
this.showDialog = false;
} catch (err) {
// 处理错误情况,并关闭弹窗
console.error(err);
this.showDialog = false; // 关闭弹窗
}
}
try catch的嵌套
try {
// 外层 try 代码块
try {
// 内层 try 代码块
console.log("在内层 try 代码块");
// 触发一个异常
let a = 1 / 0;
if(a === Infinity) throw new Error("Divide by zero error");
} catch (e) {
// 内层 catch 代码块处理 Error
console.log("内层 catch 代码块捕获 Error: " + e.message);
}
// 再次触发一个异常
let str = null;
console.log(str.length);
} catch (e) {
// 外层 catch 代码块处理 TypeError
console.log("外层 catch 代码块捕获 TypeError: " + e.message);
}