让我们有一些函数,如 func1、func2、func3、func4 等。我们希望 func2 仅在 func3 执行后执行。所以我将 func2 作为回调传递给 func3。 所以现在会发生的是 func1 将被执行,在 func3 被执行之后,当 func3 将被执行时,就在 func3 内部,func2 将被执行,然后 func4,...(即它之后的其他函数) 将被执行。 现在看起来我们已经在我们的代码中实现了异步性质,但是 func4,... 只会在 func3(连同 fun2)执行之后才执行,而 func4,... 是独立于 func3, func2 的形式.那么这里是如何实现真正的异步性质的,因为我们希望 func4,... 独立于 fun2, func3 执行,无论它们是否执行,否则我的网页会冻结并且 func4,... 的功能会客户无法访问。
有人建议在 func2、func3 之前进行 func4、... 的函数调用,但这仍然可以通过常规编程同步实现,因为我们会调用所有这些函数,如 func1、func4 等。在开始时,只有在它们之后,才会一个接一个地调用 func3、func2 等函数,这在某种程度上取决于它们的前辈,应该在它们之后立即执行。
那么回调有何不同,那么使用回调的意义何在?