回调的相关知识,内容包括简介、举例、两种回调。

一、简介

回调全称叫做“回头调一下函数”

MDN 中回调函数的说法

被作为实参传入另一函数,并在该外部函数内被调用,用以来完成某些任务的函数,称为回调函数

维基百科中的回调函数的说法

在计算机程序设计中,回调函数,或简称回调(Callback 即call then back 被主函数调用运算后会返回主函数),是指通过函数参数传递到其它代码的,某一块可执行代码的引用。这一设计允许了底层代码调用在高层定义的子程序

这说的是人话嘛,我们简单理解一下

  • 回调函数不是我们直接使用的
  • 回调函数是给其他地方用的

二、举例

  1. let f = (x)=>{console.log(x)}
  2. let f2 = (callback)=>{
  3. let a = "Hello"
  4. callback(a)
  5. }
  6. f2(f)
  • f 是一个回调函数

再次理解一下,f 在声明之后,我没有去直接调用它,而是传给 f2,f2调用了 f,f2 给 f 传了参数

三、两种回调

异步回调

  1. // f2 是一个回调函数,f3 执行完后再执行很费时的代码,再调用 f2
  2. setTimeout(){
  3. // 很费时的代码
  4. f2()
  5. }
  6. f3()

同步回调

  1. // console.log 是一个回调函数,是同步回调
  2. let array = [1,2,3,4,5]
  3. array.forEach(console.log) // 1 2 3 4 5

「@浪里淘沙的小法师」