finally
finally
是 Promise 的收尾钩子 :无论前面的请求成功 还是失败,它都会执行,常用来做"收尾/清理"动作(关 loading、收起弹窗、刷新列表等)。
java
handleAdd() {
axios.post("/books", this.formData).then((res)=>{
// 判断当前操作是否成功
if(res.data.flag) {
// 1. 关闭弹窗
this.dialogFormVisible = false;
}
}).finally(()=>{
this.getAll();
});
},
Promise

超小例子(模拟异步)
java
new Promise((resolve, reject) => {
setTimeout(() => resolve('OK'), 1000); // 1秒后成功
})
.then(v => { console.log('成功:', v); }) // 成功时执行
.catch(err => { console.log('失败:', err); }) // 失败时执行
.finally(() => { console.log('收尾'); }); // 都会执行
可以链式调用,规则:
-
上一个
then
返回普通值 → 这个值会传给下一个then
。 -
上一个
then
返回一个 Promise → 下面会等待它完成再继续。 -
上一个
then
抛错/返回拒绝的 Promise → 跳到后面的catch
。
confirm
是一个程序化创建的对话框组件,并返回一个Promise

一句话概括:$confirm = 显示一个可配置的确认弹窗 + 用 Promise 把用户选择传给你。