同步回调和异步回调

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

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

  • 同步调用
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请求成功后,这个函数才会被自动调用。
不是"主函数执行完就调用",而是"请求成功后才调用"。

相关推荐
栗子叶1 分钟前
Java对象创建的过程
java·开发语言·jvm
GIS之路5 分钟前
GDAL 实现矢量裁剪
前端·python·信息可视化
是一个Bug8 分钟前
后端开发者视角的前端开发面试题清单(50道)
前端
Amumu1213810 分钟前
React面向组件编程
开发语言·前端·javascript
IT=>小脑虎11 分钟前
Python零基础衔接进阶知识点【详解版】
开发语言·人工智能·python
wjs202413 分钟前
C 标准库 - `<float.h>》详解
开发语言
zfj32120 分钟前
CyclicBarrier、CountDownLatch、Semaphore 各自的作用和用法区别
java·开发语言·countdownlatch·semaphore·cyclicbarrier
张np28 分钟前
java基础-ConcurrentHashMap
java·开发语言
早日退休!!!29 分钟前
进程与线程的上下文加载_保存及内存映射
开发语言
jllllyuz30 分钟前
MATLAB实现蜻蜓优化算法
开发语言·算法·matlab