首页 > 其他分享 >JS运行机制的执行顺序

JS运行机制的执行顺序

时间:2022-08-17 17:59:16浏览次数:71  
标签:function 顺序 console log JS resolve 运行机制 async data

<!--         JS运行机制的顺序         1.同步         2.process.nextTick         3.微任务(promise.then)         4.红任务(计时器,ajax,读取文件)         5.setImmediate         这是一次事件循环,如果还有任务队列里还有事件,会在setImmediata之后执行         运行栈会执行同步代码,异步代码会在任务队列中执行,事件循环机制会不断检测任务队列中的事件,         存在事件即会执行,settimeout的延迟是延迟后将事件存放到任务队列中。      -->         async function fun() {             return 1         }         //async函数的返回值是一个promise对象,所以可以调用。then方法,data为async函数的返回值         function fun() {             return new Promise((resolve) => {                 resolve(2)             })         }         //这两种写法的结果是一样的。         fun().then((data) => {             console.log(data)         })         let p1 = new Promise((resolve => { resolve(3) }))         let p2 = new Promise((resolve => { resolve(4) }))         async function Fun() {             let a = await p1 //可以通过await调用promise对象             let b = await p2             console.log(a)             console.log(b)             return 99         }         Fun().then((data) => {             console.log(data)         })         async function fun1() {             console.log(300)             let data = await fun2()             console.log(data)         }         async function fun2() {             console.log(200)             return 100         }         fun1()

标签:function,顺序,console,log,JS,resolve,运行机制,async,data
From: https://www.cnblogs.com/GFM0518/p/16596158.html

相关文章

  • js自动点击按钮
    js自动点击按钮:<html><head><metacharset="UTF-8"><title>Inserttitlehere</title></head><body><buttonid="btn1">btn1</button><buttonid="btn2">......
  • Notepad++ 怎么以json格式显示数据 notepad++怎么安装JSON Viewer插件
    Notepad++安装JSONViewer插件,就可以以json格式显示数据,点击插件-->插件管理;  弹出的插件管理窗口,在“可用”栏目的搜索框写入“JSONViewer”会自动搜到该插件......
  • js算法基础-栈结构的封装和进制转换
    先是栈结构的封装,使用es6的方式。#items为栈结构#表示类的私有属性,外部不能直接访问和修改。push压栈pop出栈peek查看栈顶isEmpty栈是否为空size栈内元素个数......
  • Js中的枚举
    在JavaScript目前的版本中,没有枚举这个概念(当然,ECMA-262第三版中已经将enum作为关键字保留)。然而,如同JavaScript中没有class一样,但我们仍然可以通过间接的方式——JSON来......
  • JS判断数组中是否存在某个值或者某个对象的值
    、判断是否存在某个值1、Array.prototype.indexOf()indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。constbeasts=['ant','......
  • Nodejs 多进程与多线程
    为什么要使用多进程多进程与多线程介绍Nodejs多进程和多线程使用与区别cluster为什么需要多进程nodejs单线程,在处理http请求的时候一个错误都会导致进程退出,这是灾......
  • 记录:excel导入导出js-xlsx,处理合并
    效果前情提要后端传excel坐标数据,前端自己处理模板,找资料后,选择直接载入xlsx方式。准备工作npmixlsximport*asXLSXfrom'xlsx'导入提取数据letreader......
  • [JSOI2007] 字串加密
    题链:luoguJS同学?Description让JS同学对环形字符串进行重组加密。加密规则是:列出\(n\)个字符串并字典序升序,一次取末尾字符作为加密后的长度为\(n\)的密码串。......
  • 原生get请求读取本地json文件,electron vue
    1readLocalFile(fileUrl){2letxhr=null3if(window.XMLHttpRequest){4xhr=newXMLHttpRequest()5}else{6/......
  • JSP内置对象、MVC开发模式
    JSP内置对象内置对象:在jsp页面中不需要创建,直接使用对象变量名  真实类型  作用*pagecontext......