gpt4 book ai didi

javascript - JavaScript 中的同步回调函数有什么用?

转载 作者:数据小太阳 更新时间:2023-10-29 03:53:02 30 4
gpt4 key购买 nike

我一直在广泛阅读网络异步编程以及 JavaScript 和 jQuery 中回调的使用。我已经了解了 AJAX 的基础知识。我想不通的是在异步编程中不使用回调函数时的使用。

根据我的理解,简单地向函数添加回调并不能使其成为非阻塞/异步的。异步能力实际上是由环境(浏览器API)提供的。因此,向我编写的函数添加回调不会导致任何异步执行。

例如:

var X;
function Test(A, B, Callback) {
X=A+B*A*B;
Callback(X);
}

Test(99999,999999,function(Data) {
alert(Data);
});

alert("This is not printed first, as it would be in Async.");

在上面,我取了两个数字并对它们执行代数运算。即使我正在使用回调函数,代码执行也会在执行操作时被阻止。然后将执行回调,显示带有计算结果的警报。然后是下一个警报。如果我进行了 XMLHttpRequest 而不是代数运算,由于异步实现,我会首先收到第二个警报。代码流不会像在数学运算期间发生的那样在请求期间被阻塞。

因此,即使使用回调也会阻塞代码执行时,在非异步调用中使用回调有什么用?

最佳答案

一些非常常见的同步回调示例是 Array.prototype 上的方法:forEachmapfilter

回调的作用是提供可以在更大的算法中轻松交换的部分实现。一些设计模式,如 template methodstrategy想到了。

关于javascript - JavaScript 中的同步回调函数有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21584458/

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