JavaScript回调函数的应用

JavaScript回调函数的应用

回调函数的写法、作用及实现示例:
在提供的代码中,回调函数是作为参数传递给 saveConfirm 方法的匿名函数 () => { this.model.box7 = false; }。它的作用是确保在 saveConfirm 方法内部的异步操作(如数据提交、表单验证)完成后,再执行 this.model.box7 = false。
一、回调函数的基本写法:
回调函数本质是一个函数,但它的执行时机由其他函数控制。常见写法有两种:

  1. 匿名函数(最常用)
JavaScript(最常用)
// 作为参数直接传入
saveConfirm(() => {
  // 回调逻辑
  this.model.box7 = false;
});
  1. 具名函数(提高复用性)
// 定义回调函数
const handleSaveComplete = () => {
  this.model.box7 = false;
};

// 传入具名函数
saveConfirm(handleSaveComplete);

二、回调函数的作用

  1. 解耦代码逻辑
    将 “执行什么” 和 “何时执行” 分离,使函数更通用。
// 通用的forEach函数
function forEach(arr, callback) {
  for (let i = 0; i < arr.length; i++) {
    callback(arr[i], i); // 调用回调处理每个元素
  }
}

// 使用时传入具体逻辑
forEach([1, 2, 3], (item) => {
  console.log(item);
});

三、回调函数的替代方案
回调函数在处理多层嵌套时会导致 “回调地狱”,可使用以下方案优化:

// 修改saveConfirm返回Promise
saveConfirm() {
  return this.$axios.post('/api/save', this.formData);
}

// 使用Promise链式调用
Save_SubmitQuote() {
  if (this.activeNames == 1) {
    this.$refs.quote.saveConfirm()
      .then(() => {
        this.model.box7 = false;
      })
      .catch(error => {
        console.error('保存失败', error);
      });
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值