javascript - JS如何判断何时调用回调函数?

标签 javascript ajax callback xmlhttprequest

我想知道 JavaScript 回调是如何工作的。我特别不明白异步 XmlHttpRequest 是如何工作的。 JS如何确定服务器返回了某个值(在一个线程中),以及何时调用回调方法?它是建立在计时器上的吗?

最佳答案

回答了一个非常相似的问题here更详细。

基本的答案是,底层网络发生在操作系统级别,当传入的网络数据包到达时,可以有线程或某种类型的通知。当结果完成时,一个事件被添加到 javascript 事件队列中。当该事件到达事件队列的顶部并且 javascript 准备好对其执行操作时,将触发适当的 javascript ajax 事件,从而启动导致调用回调的 javascript 链。

超时可能涉及一些计时器,但计时器不用于知道 ajax 响应何时到达。这是基于浏览器使用的操作系统级网络支持。

关于javascript - JS如何判断何时调用回调函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8839183/

相关文章:

javascript - 如何从 Firefox 扩展重新启动 Mozilla Firefox 浏览器

java - struts 2 使用ajax上传文件

Java 8 推迟方法的执行

javascript - 循环内的异步函数

javascript - Bootstrap - 在模态后面编辑 TextArea

javascript - 隐藏选项集中的选项而不在 MS CRM 2011 中删除它

javascript - 通过 jQuery AJAX 上传文件后 HttpPostedFile.ContentLength 始终为 -2

c - C 中的可选回调

javascript - 如何判断 XMLHttpRequest 是否因网络问题而失败?

javascript - Dropzone js 不会触发 ajax 调用