RodriKing Asked: 2020-08-21 09:28:52 +0800 CST 2020-08-21 09:28:52 +0800 CST 2020-08-21 09:28:52 +0800 CST 什么是“回调”? 772 我总是在很多地方阅读和听到这个术语,但在谈论“回调”时,我不太清楚它指的是什么。我不知道这是一个匿名函数还是什么。 javascript 3 Answers Voted Best Answer Asero82 2020-08-21T10:28:39+08:002020-08-21T10:28:39+08:00 回调是一个函数。您将此函数作为参数提供给另一个函数,以便在它完成执行时调用您的回调。 通常,您的回调函数会对传递给它的函数的结果做一些事情。这样你就不必等待你调用的函数完成来继续做其他事情,因为你知道当它有结果时它会“给你回电话”。 粗略地说,你告诉一个函数: 函数,获取这些参数和这个回调函数,完成你的工作,完成后通过运行这个回调函数告诉我。 回调可以是任何函数,通常使用匿名函数或 lambda,但不是必需的。 使用 jQuery 时的回调函数示例: ... function mostrar(resultados){ alert(resultados) ; } $.get('/ajax/listado', 'algo', mostrar(resultados)) ; ... 当 Ajax 完成时,它会调用回调函数mostrar()。 J.Correa 2020-08-21T10:37:55+08:002020-08-21T10:37:55+08:00 回调是将在另一个函数中执行的函数。 在 JS 中,这是一个示例: function saludar(callback) { let mensaje = 'Hello world' callback(mensaje) } saludar(function(str) { console.log('Callback invocado!') console.log(str) }) saludar(function(str) { str = 'Param cambiado :o' console.log('Otro callback invocado!') console.log(str) }) 在进行异步操作时使用回调,即以“线程”类型执行的代码执行,当执行结束时,可以通过回调获得其结果。 José Manuel Ramos 2020-09-15T23:26:39+08:002020-09-15T23:26:39+08:00 补充其他用户的答案,我喜欢使用“计算器”类型程序提供的视觉解释。 您的计算器中有很多按钮。从最基本的基本运算到复数运算。他们都可以做各种运算,我假设你知道如何使用计算器。 当你想添加时,你定义一个站点的总和 在计算器中,您输入数字,直到您按下输入按钮。+ 它一直要求您输入数字,直到您按下键= 显示总和的结果 好吧,这个显然是基本的例子是什么是回调的可视化例子。当您按下按钮=时,该按钮执行一个过程,该过程确定对哪些数字执行哪个操作。这个过程叫做“回调”,我们可以粗略的翻译为“这个过程调用的函数”。 当您使用用户界面 ( GUI ) 和菜单时,这个想法非常有用。
回调是一个函数。您将此函数作为参数提供给另一个函数,以便在它完成执行时调用您的回调。
通常,您的回调函数会对传递给它的函数的结果做一些事情。这样你就不必等待你调用的函数完成来继续做其他事情,因为你知道当它有结果时它会“给你回电话”。
粗略地说,你告诉一个函数:
回调可以是任何函数,通常使用匿名函数或 lambda,但不是必需的。
使用 jQuery 时的回调函数示例:
当 Ajax 完成时,它会调用回调函数
mostrar()
。回调是将在另一个函数中执行的函数。
在 JS 中,这是一个示例:
在进行异步操作时使用回调,即以“线程”类型执行的代码执行,当执行结束时,可以通过回调获得其结果。
补充其他用户的答案,我喜欢使用“计算器”类型程序提供的视觉解释。
您的计算器中有很多按钮。从最基本的基本运算到复数运算。他们都可以做各种运算,我假设你知道如何使用计算器。
+
=
好吧,这个显然是基本的例子是什么是回调的可视化例子。当您按下按钮
=
时,该按钮执行一个过程,该过程确定对哪些数字执行哪个操作。这个过程叫做“回调”,我们可以粗略的翻译为“这个过程调用的函数”。当您使用用户界面 ( GUI ) 和菜单时,这个想法非常有用。