AJAX: 事件循环(举例细论)

这篇具有很好参考价值的文章主要介绍了AJAX: 事件循环(举例细论)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概念:执行任务和收集异步任务,在调用栈空闲时,反复调用任务队列里回调函数的一种执行机制

原因:JavaScript 是单线程的,为了不阻塞 JS 引擎,设计执行代码的模型

JS内代码如何执行

执行同步代码,遇到异步代码就交给宿主浏览器环境执行。异步有了结果之后,把回调函数放到任务队列中排队,当调用栈空闲后,反复调用任务队列里的回调函数

案例

console.log(1)
setTimeout(() => {
  console.log(2)
}, 0)
console.log(3)
setTimeout(() => {
  console.log(4)
}, 2000)
console.log(5)

执行过程:

AJAX: 事件循环(举例细论),Ajax,javascript,前端,vue.js

1-JS引擎把console.log(1)放入调用栈中,执行后弹出

2-JS引擎发现setTimeout(…, 0) 是异步代码,于是将它放入宿主环境(浏览器)中,执行setTimeout(…, 0),完成后放入任务队列中

3-JS引擎把console.log(3)放入调用栈中,执行后弹出

4-JS引擎发现setTimeout(…, 2000) 是异步代码,于是将它放入宿主环境(浏览器)中,执行setTimeout(…, 2000)要等待2s,完成后放入任务队列中

5-JS引擎把console.log(5)放入调用栈中,执行后弹出

6-此时,JS的调用栈空闲,调用任务队列中的回调函数,先调用setTimeout(…, 0)中的回调函数console.log(2) ,执行后出栈。此时,JS的调用栈再次空闲,它会保持监视任务队列情况。当2s到时,会调用setTimeout(…, 2000)中的回调函数console.log(4) ,执行后出栈。

参考:AJAX-Day04-07.事件循环_哔哩哔哩_bilibili文章来源地址https://www.toymoban.com/news/detail-595010.html

到了这里,关于AJAX: 事件循环(举例细论)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ajax,前后端分离开发,前端工程化,Element,Vue路由,打包部署

    Ajax介绍 Axios 案例 前后端分离 前端工程化 环境准备,nodejs安装,D:javaprojectjavawebday03-Vue-Elementday03-Vue-Element资料NodeJS安装文档 Vue项目简介 它本来默认端口号是8080 ,但这就和tomcat冲突了所以修改为7000 Vue项目开发流程 Vue组件库Element pagination分页组件,table表格组件,Dial

    2024年02月05日
    浏览(46)
  • 什么是AJAX?如何使用原生JavaScript搭建AJAX请求?

    前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而又亲切的学习平台。在这个

    2024年02月11日
    浏览(30)
  • 什么是AJAX?如何使用原生JavaScript进行AJAX请求?

    前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而又亲切的学习平台。在这个

    2024年02月07日
    浏览(29)
  • 在ajax中如何使用jquery循环。

    假设result的数据是这个:  然后呢,我们就可以遍历这个result对象。 result.data : 表示你想要遍历的对象是什么。 index  是下标。 obj  就代表你想要遍历的每一个元素。

    2024年02月04日
    浏览(29)
  • JavaScript--AJAX

    目录 概述 XMLHttpRequest对象  方法和属性 示例一: 示例二: 传统的web交互是用户触发一个http请求服务器,然后服务器收到之后,在做出响应到用户,并且返回一个新的页面,每当服务器处理客户端提交的请求时,客户都只能空闲等待,并且哪怕只是一次很小的交互、只需从服务

    2024年02月14日
    浏览(28)
  • javascript的ajax

    JavaScript的AJAX(Asynchronous JavaScript and XML)处理是一种用于在后台与服务器进行异步数据交互的技术。它允许你在不刷新整个页面的情况下,通过JavaScript发送HTTP请求,并异步获取服务器返回的数据。 AJAX的实现通常涉及以下几个核心组件和步骤: 创建XMLHttpRequest对象(XHR):

    2024年02月12日
    浏览(47)
  • JavaScript全解析——Ajax(上)

    ●认识前后端交互 ○就是 前端 与 后端的 一种通讯方式 ○主要使用的技术栈就是 ajax (async javascript and xml) ●ajax 特点 ○使用 ajax 技术网页应用能够快速的将新内容呈现在用户界面 ○并且不需要刷新整个页面, 也就是能够让页面有 \\\"无刷更新\\\" 的效果 ●注意点: ○前后端交互只

    2024年02月08日
    浏览(91)
  • 【Javascript】ajax(阿甲克斯)

    目录 什么是ajax? 同步与异步 原理 注意 写一个ajax请求  创建ajax对象 设置请求方式和地址 发送请求 设置响应HTTP请求状态变化的函数 是基于javascript的一种用于创建快速动态网页的技术,是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,主要用来在前端页

    2024年02月06日
    浏览(40)
  • JavaScript全解析——Ajax是什么(上)

    AJAX 是 Asynchronous JavaScript And XML 的缩写。 它不是一种编程语言。它是一种基于 HTML、CSS、JavaScript 和 XML ,让开发更好、更快和更有互动的 Web 应用的技术。 前后端交互就是前端与后端的一种通讯方式,主要使用的技术栈就是 ajax (async javascript and xml 使用 ajax 技术网页应用能够

    2024年02月05日
    浏览(35)
  • javascript二维数组(21)执行异步HTTP(Ajax)请求的方法($.get、$.post、$getJSON、$ajax)

    . g e t 、 .get、 . g e t 、 .post、 g e t J S O N 、 getJSON、 g e t J SON 、 ajax都是jQuery提供的用于执行异步HTTP(Ajax)请求的方法。每个方法都有其特定的用途和区别。 . g e t :这个方法使用 G E T 方式来进行异步请求。其语法结构为: .get:这个方法使用GET方式来进行异步请求。其语

    2024年02月07日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包