栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JavaScript如何在后台处理AJAX响应?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaScript如何在后台处理AJAX响应?

在幕后,javascript具有事件队列。每次执行javascript线程完成时,它都会检查队列中是否还有其他事件要处理。如果存在,它将退出队列并触发该事件(例如,单击鼠标)。

位于ajax调用下的本机代码网络将知道ajax响应何时完成,并且事件将被添加到javascript事件队列中。本地代码如何知道何时执行ajax调用取决于实现。它可能是用线程实现的,也可能是事件驱动本身的(这并不重要)。实现的要点是,当ajax响应完成时,一些本机代码将知道它已完成并将事件放入JS队列。

如果此时没有运行Javascript,则将立即触发该事件,该事件将运行ajax响应处理程序。如果当时有东西在运行,那么当当前的javascript执行线程完成时,该事件将得到处理。javascript引擎不需要进行任何轮询。当一段Javascript完成执行时,JS引擎仅检查事件队列以查看是否还有其他需要运行的东西。如果是这样,它将弹出队列中的下一个事件并执行它(调用为该事件注册的一个或多个回调函数)。如果事件队列中没有任何内容,则JS解释器将有空闲时间(垃圾回收或空闲),直到某个外部代理将其他内容放入事件队列并再次唤醒为止。

由于所有外部事件都会通过事件队列,并且在javascript实际上正在运行其他事件时不会触发任何事件,因此它保持单线程运行。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/415895.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号