回调函数是所有前端程序员都需要知道的概念之一。 回调可用于数组、计时器函数、promise和事件处理。
本文介绍了回调函数的概念,并区分了两种类型的回调:同步和异步。
回调函数
首先写问候别人的函数。
只需创建接受name参数的函数greet(name )。 此函数必须返回问候消息:
函数网格(name ) {
返回` hello,${name}! `;
}
网格(Cristina ); //='Hello,Cristina!'
和很多人打招呼怎么办? 特殊数组方法array.map ) ),可以执行以下操作:
const persons=[‘Cristina’,‘ana’]
常数消息=persons.map (greet );
消息//=[‘hello,Cristina! “,‘Hello,ana!’ ]
Persons.map(greet )检索persons数组中的所有元素,并将每个元素作为调用参数调用greet )、greet )和ana )。
有趣的是,persons.map(greet方法可以接受greet函数作为参数。 现在greet ()是回调函数。
Persons.map(greet )被称为高阶函数,因为它是以另一个函数为参数的函数。
回调函数用作高阶函数的参数,高阶函数通过调用回调函数执行操作。
重要的是,高阶函数调用回调并提供正确的参数。
在前面的示例中,高阶函数persons.map(greet负责调用greet函数,数组中的所有元素“‘Cristina”和ana”都是参数。
这为识别回调提供了简单的规则。 如果定义一个函数并将其作为参数提供给另一个函数,则会创建回调。
你可以自己制作使用回调的高阶函数。 以下为array.map ) )方法的等效版本。