gpt4 book ai didi

language-agnostic - 什么是回调函数?

转载 作者:行者123 更新时间:2023-12-03 03:53:29 25 4
gpt4 key购买 nike

什么是回调函数?

最佳答案

由于该死的东西的名称,开发人员经常对回调是什么感到困惑。

回调函数是这样的函数:

  • 可由另一个函数访问,并且
  • 如果第一个函数完成,则在第一个函数之后调用

想象回调函数如何工作的一个好方法是,它是一个在传入函数的“后面调用”的函数。

也许更好的名称是“call after”函数。

此构造对于异步行为非常有用,在异步行为中,我们希望每当前一个事件完成时就发生事件。

伪代码:

// A function which accepts another function as an argument
// (and will automatically invoke that function when it completes - note that there is no explicit call to callbackFunction)
funct printANumber(int number, funct callbackFunction) {
printout("The number you provided is: " + number);
}

// a function which we will use in a driver function as a callback function
funct printFinishMessage() {
printout("I have finished printing numbers.");
}

// Driver method
funct event() {
printANumber(6, printFinishMessage);
}

调用 event() 的结果:

The number you provided is: 6
I have finished printing numbers.

这里的输出顺序很重要。由于回调函数是在之后调用的,因此“我已完成打印数字”是最后打印的,而不是最先打印的。

回调之所以被称为回调是因为它们与指针语言一起使用。如果您不使用其中之一,请不要为“回调”这个名称费力。只需理解它只是一个描述作为另一个方法的参数提供的方法的名称,这样当调用父方法时(无论什么条件,例如按钮单击、计时器滴答等)及其方法主体完成,然后调用回调函数。

某些语言支持多个回调函数参数的构造,并根据父函数完成的方式进行调用(即,如果父函数成功完成,则调用一个回调,如果父函数成功完成,则调用另一个回调)函数抛出特定错误等)。

关于language-agnostic - 什么是回调函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/824234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com