zoukankan      html  css  js  c++  java
  • js 执行顺序

      //  javascript是一门单线程语言
        async function async1() { // async关键字 申明这个function是异步的
            console.log('async1 start') //  2
            await async2(); //看到了await关键字 它前面的所有代码块执行完以后 才会执行下面的代码
            console.log('async1 end') // async 函数返回一个 Promise对象 异步挂起 放到 "任务队列"  5
        }
        async function async2() {
            console.log('async2')// 3
        }
        console.log('script start') // 第一个同步任务 首先执行完毕 1
        setTimeout(function () { 
            console.log('setTimeout')// setTimeout()在主线程最早可得的空闲时间执行,也就是说,同步任务和"任务队列"处理完以后才轮到它。它在"任务队列"的尾部添加一个事件 放到最后 7
        }, 0)
        async1()
        console.log('12222222221')
        new Promise(function (resolve) { //传参是个 同步任务 4
            console.log('promise1')
            resolve()
        }).then(function () { 
            console.log('promise2') // then方法会返回一个新的promise 异步挂起 放到 "任务队列" 6
        })
         // 下面没有代码了 js开始按顺序执行刚才放到"任务队列"里的代码块 

    参考地址:https://www.cnblogs.com/zwnsyw/p/12772668.html

    君不见,高堂明镜悲白发,朝如青丝暮成雪
  • 相关阅读:
    WIFI芯片,结构光和ToF
    Ubuntu + Python
    React-Native 报错处理
    GPS && AGPS
    Feed流
    Kafka基础知识总结
    Kafka海量日志收集架构之Watcher监控告警-watcher 基础语法与使用
    4-23学习心得
    4-22 学习心得
    4-21学习心得
  • 原文地址:https://www.cnblogs.com/lzhflzjx/p/13986071.html
Copyright © 2011-2022 走看看