同步回调和异步回调

一个函数作为另一个函数的参数,当这个函数在某些事情完后开始执行这个作为参数的函数。作为参数传给另一个函数,并在适当时机被"回过头"来调用的函数。

可以这样理解它:不是父函数执行完立刻调用它,而是父函数在某个时机(比如处理完数据、事件触发、网络请求成功等)才调用它。

  • 同步调用
python 复制代码
function greet(name, callback) {
    console.log("你好," + name);
    callback();  // 此处调用传入的函数
}

function sayBye() {
    console.log("再见!");
}

greet("张三", sayBye);   // => 你好,张三
                        // => 再见!

sayBye是回调函数;

它是被greet传进去,在适合时机调用的。

  • 异步回调(比如网络请求)
python 复制代码
axios.get('/api/books')
  .then(function(response) {
      console.log('请求成功,返回数据:', response);
  });

.then(function)里的函数就是一个回调。

只有当axios请求成功后,这个函数才会被自动调用。
不是"主函数执行完就调用",而是"请求成功后才调用"。

相关推荐
布谷歌5 小时前
面试题整理
java·开发语言
2401_859049085 小时前
git submodule update --init --recursive无法拉取解决
前端·chrome·git
j445566115 小时前
C++中的职责链模式高级应用
开发语言·c++·算法
Hello World . .5 小时前
数据结构:栈和队列
c语言·开发语言·数据结构·vim
jjjava2.05 小时前
深入解析Set与Map的奥秘
java·开发语言
白宇横流学长5 小时前
基于Java的火车票订票系统的设计与开发
java·开发语言
黎雁·泠崖5 小时前
Java核心基础API学习总结:从Object到包装类的核心知识体系
java·开发语言·学习
这是个栗子5 小时前
【Vue代码分析】前端动态路由传参与可选参数标记:实现“添加/查看”模式的灵活路由配置
前端·javascript·vue.js
刘一说5 小时前
Vue 动态路由参数丢失问题详解:为什么 `:id` 拿不到值?
前端·javascript·vue.js
m0_736919106 小时前
模板元编程性能分析
开发语言·c++·算法