美文网首页
js宏任务和微任务面试题

js宏任务和微任务面试题

作者: A_dfa4 | 来源:发表于2021-01-12 23:52 被阅读0次
async function async1 () {
  console.log('async1 start');
  await async2();
  console.log('async end')
}

async function async2 () {
  console.log('async2')
}

console.log('script start')

setTimeout(() => {
  console.log('serTimeout')
}, 0)

async1()

new Promise((function (resolve) {
  console.log('promise1')
  resolve()
})).then(function () {
  console.log('promise2')
}).then(function () {
  console.log('promise3')
}).then(function () {
  console.log('promise4')
})
console.log('script end')
console.log('222')
console.log(document.getElementsByTagName('body'))

// 'script start'
// 'async1 start'
// 'async2'
// 'promise1'
// 'script end'
// 'async1 end'
// 'promise2'  promise3  promise4
// "serTimeout"
// 1. 创建函数async1 创建函数async2
// 2. 执行主线程 打印 script start
// 3. 遇到setTime 放到宏任务
// 4. 执行async1 函数 打印 async1 start执行async2函数打印async2 放入微任务
// 5. 继续执行 new Promise是立即执行 打印peimise1 resolve是异步的 放到微任务
// 6. 往下执行 打印 script end 
// 7. 主线程执行完毕 看看微任务(拿出来一个执行一个就是event loop) 先打印 async end 然后再看看再执行 promise2
// 8. 微任务执行完了执行宏任务 打印 settimeout


// Event 时间队列
// 微任务和宏任务 
// 主线程 -> 微任务(async/promise/resolve/jeject) -> 宏任务(定时器/时间绑定/XJAX)
// new 函数会立即执行 new 的时候是同步的
// 查找执行的过程叫 event loop

相关文章

  • 宏任务和微任务

    [js 宏任务和微任务] .宏任务(macrotask )和微任务(microtask ) macrotask 和...

  • 浏览器的事件机制-Eventloop

    循环机制前,我们先要会区分:宏任务与微任务 宏任务Task与微任务Microtask JS中的宏任务和微任务的区别...

  • js中的异步任务:宏任务、微任务

    js的异步任务分2类:宏任务(macrotask )和微任务(microtask ) 什么是宏任务、微任务 网上用...

  • js宏任务和微任务面试题

  • js 宏任务和微任务

    1:主线程 2:.宏任务(macrotask )和微任务(microtask ) 最后看个例子: 分析 • 首先浏...

  • js 宏任务和微任务

    js 执行时首先会从宏任务中获取第一个并执行,执行过程中会将遇到的微任务放入微任务队列,当宏任务执行完成时再去依次...

  • js 宏任务和微任务

    .宏任务(macrotask )和微任务(microtask )macrotask 和 microtask 表示异...

  • js微任务和宏任务

    JavaScript 语言的一大特点就是单线程,也就是说同一个时间只能处理一个任务。为了协调事件、用户交互、脚本、...

  • 前端基础知识整理二

    1、js事件循环:宏任务和微任务 宏任务:I/O(比如文件读写等)、setTimeout、setInterval、...

  • js - 微任务 宏任务

    1. 概念理解 1.1 JavaScript是单线程语言:单线程: 同一个时间只能做一件事; js是单线程语言, ...

网友评论

      本文标题:js宏任务和微任务面试题

      本文链接:https://www.haomeiwen.com/subject/ajxtgktx.html