首页 > 其他分享 >宏任务-微任务-面试题

宏任务-微任务-面试题

时间:2024-10-21 20:12:15浏览次数:1  
标签:function 面试题 resolve console log script 任务

面试题一

/*
promise1
2
then1
queueMicrotask1
then3
setTimeout1
then2
then4
setTimeout2
*/
  console.log("script start")//主任务1
  setTimeout(function () {
  console.log("setTimeout1");//宏任务1
  new Promise(function (resolve) {
    resolve();
  }).then(function () {//宏任务1:微任务1
    new Promise(function (resolve) {
      resolve();
    }).then(function () {//宏任务1:微任务2
      console.log("then4");//宏任务1:微任务2:console.log
    });
    console.log("then2");//宏任务1:微任务1:console.log
  });
});

new Promise(function (resolve) {
  console.log("promise1");//主任务2
  resolve();
}).then(function () {
  console.log("then1");//微任务1:console.log
});

setTimeout(function () {
  console.log("setTimeout2");//宏任务2
});

console.log(2);//主任务3

queueMicrotask(() => {
  console.log("queueMicrotask1")//微任务2
});

new Promise(function (resolve) {
  resolve();
}).then(function () {//微任务3
  console.log("then3");
});
console.log("script end")//主任务4

面试题二

    async function async1 () {
      console.log('async1 start')
      await async2();
      console.log('async1 end')
    }

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

    console.log('script start')

    setTimeout(function () {
      console.log('setTimeout')
    }, 0)
    
    async1();
    
    new Promise (function (resolve) {
      console.log('promise1')
      resolve();
    }).then (function () {
      console.log('promise2')
    })

    console.log('script end')

// script start
// async1 start
// async2
// promise1
// script end
// async1 end
// promise2
// setTimeout

标签:function,面试题,resolve,console,log,script,任务
From: https://www.cnblogs.com/hdc-web/p/18490248

相关文章

  • 面试题速刷 - 知识广度2
    有哪些前端攻击?如何预防?XSS跨站脚本攻击预防:尖括号替换,Vue中用插值{}不会发生XSS攻击。CSRF跨站请求伪造预防:服务端严格控制跨域,验证机制二次确认SameSite禁止第三方cookie点击劫持演示一下:预防:1.判断两个iframe域名是否一致2.让当前网页只在自己iframe的域名中......
  • schedule-执行周期性任务
    模块介绍该模块主要用于python的任务调度,使用简便友好的python语法定期运行python函数或者一些其他的调用对象,这个模块就类似于windows的任务计划和linux的crontab,都是用于在服务器上周期性执行某段python脚本。相较于linux的crontab对比:schedule模块支持以秒为单位的周期性任......
  • count(*)、count(1)哪个更快?面试必问:通宵整理的十道经典MySQL必问面试题Jv
    合集-面渣逆袭(10)1.阿里面试:Java开发中,应如何避免OOM02-212.美团面试:Kafka如何处理百万级消息队列?02-203.Java异常处理的20个最佳实践:告别系统崩溃02-224.揭秘一线大厂Redis面试高频考点(3万字长文、吐血整理)02-235.美团面试:说说OOM三大场景和解决方案?(绝对史上最全)02-246.面试......
  • 在K8S中,有家拥有分布式系统的跨国公司,拥有大量数据中心,虚拟机和许多从事各种任务的员
    对于拥有分布式系统的跨国公司,且该公司拥有大量数据中心、虚拟机以及众多从事各种任务的员工,采用Kubernetes(K8s)来管理所有任务是一种高效且灵活的方式。以下是一些建议,说明该公司如何以与Kubernetes一致的方式管理所有任务:1.利用Kubernetes的容器化特性容器化应用程序:将公司......
  • css面试题
    总结不易,点个赞在走吧文章目录1.介绍一下CSS的盒子模型2.怪异盒模型/IE盒模型如何启用怪异盒模型使用场景3.line-height和height的区别?heightline-height主要区别代码实现height示例line-height示例总结4.CSS选择符有哪些?5.哪些属性可以继承?6.CSS优先级算法如何设......
  • 一天10个js面试题(七)
    1、promise的链式调用?链式调用的话就是说then的函数和新promise的resolve一起push到前一个promise的callbacks数组中当前一个promise完成后,调用它的resolve变更状态,在这个resolve里会依次调用callbacks里的回调,这样就执行了then里的方法了然后等then......
  • MoH:融合混合专家机制的高效多头注意力模型及其在视觉语言任务中的应用
    在深度学习领域,多头注意力机制一直是Transformer模型的核心组成部分,在自然语言处理和计算机视觉任务中取得了巨大成功。然而,研究表明并非所有的注意力头都具有同等重要性,许多注意力头可以在不影响模型精度的情况下被剪枝。基于这一洞察,这篇论文提出了一种名为混合头注意力(Mi......
  • count(*)、count(1)哪个更快?面试必问:通宵整理的十道经典MySQL必问面试题
    一、你是如何理解Count(*)和Count(1)的?这两个并没有区别,不要觉得count()会查出全部字段,而count(1)不会。所以count()会更慢,你觉得MySQL作者会这么做吗?可以很明确地告诉你们count()和count(1)是一样的,而正确有区别的是count(字段)。如果你count()的是具体的字段,那......
  • 2024-2025 20241323第四周学习任务总结
    这个作业属于https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求https://www.cnblogs.com/rocedu/p/9577842.html#WEEK01这个作业的目标• Pep/9虚拟机• 机器语言与汇编语言• 算法与伪代码• 测试:黑盒,白盒作业正文https://www.cnblogs.com/gly03/p/1848......
  • 代码随想录算法训练营第五天| 面试题02.07.链表相交、leetcode142 环形链表II
    1.leetcode面试题02.07.链表相交题目链接:面试题02.07.链表相交-力扣(LeetCode)文章链接:代码随想录1.1代码跟着老师写的一个版本,自己能理解思路了,但是写的话可能还是有一些难#Definitionforsingly-linkedlist.#classListNode:#def__init__(self,x):#......