同步回调和异步回调

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

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

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

相关推荐
222you2 小时前
Redis的主从复制和哨兵机制
java·开发语言
牛奔2 小时前
如何理解 Go 的调度模型,以及 G / M / P 各自的职责
开发语言·后端·golang
梵刹古音2 小时前
【C++】 析构函数
开发语言·c++
天下代码客2 小时前
使用electronc框架调用dll动态链接库流程和避坑
前端·javascript·vue.js·electron·node.js
Sylvia-girl2 小时前
IO流~~
java·开发语言
weixin199701080162 小时前
【性能提升300%】仿1688首页的Webpack优化全记录
前端·webpack·node.js
冰暮流星2 小时前
javascript之数组
java·前端·javascript
Re.不晚2 小时前
JAVA进阶之路——无奖问答挑战3
java·开发语言
代码游侠2 小时前
C语言核心概念复习——C语言基础阶段
linux·开发语言·c++·学习
㓗冽2 小时前
60题之内难题分析
开发语言·c++·算法