首页 > 其他分享 >事件循环Event loop

事件循环Event loop

时间:2023-11-28 15:33:22浏览次数:28  
标签:function resolve console log 任务 循环 Promise Event loop

事件循环总体就是对于,宏任务和微任务执行顺序的理解;

今天看循环给我看的有点迷,又看了几篇,总体就是

【宏任务(微任务)】=》【宏任务(微任务)】

我们先执行宏任务,然后执行微任务。下一个宏任务执行之前我们要先将上一个宏任务产生的微任务给执行完毕。

// 位置 1 【存入宏任务】
setTimeout(function () {
    console.log('宏任务');
});

// 位置 2
console.log('start');

// 位置 3
Promise.resolve().then(function () {
    // 位置 5
    console.log('微任务');
    // 位置 6
    Promise.resolve().then(function () {
        // 【存入宏任务】
        setTimeout(function () {
            console.log('微任务微任务宏任务');
        });
        console.log('微任务微任务');
    });
    // 位置7
    Promise.resolve().then(function () {
        Promise.resolve().then(function () {
            console.log('微任务微任务微任务');
        });
        console.log('微任务微任务');
    });
    // 位置 8【存入宏任务】
    setTimeout(function () {
        // 位置 9
        Promise.resolve().then(function () {
            console.log('微任务宏任务微任务');
        });
        // 位置 10
        console.log('微任务宏任务')
    });
});

// 位置 4
console.log('done');

这里面就直接的表明了整体代码【宏任务】执行之后,会将所有执行产生的微任务执行完毕;

start

done

微任务

微任务微任务

微任务微任务

微任务微任务微任务

宏任务

微任务宏任务

微任务宏任务微任务

微任务微任务宏任务

 

标签:function,resolve,console,log,任务,循环,Promise,Event,loop
From: https://www.cnblogs.com/laiweiguo/p/17862071.html

相关文章

  • 循环神经网络 —— LSTM 有状态模型(stateful LSTM)和无状态模型(stateless LSTM)
     相关参考:训练后的LSTM模型在进行预测时的初始h_n和c_n是什么或应该怎么设置?  Keras中对RNN网络的statefull和stateless设置:链接:https://keras.io/zh/getting-started/faq/#how-can-i-use-stateful-rnns   ===============================================  必须要承认,由......
  • js event.target和event.currentTarget区别
    首先本质区别是:event.target返回触发事件的元素event.currentTarget返回绑定事件的元素事例<ahref="#"class="text-nowrapdropdown-itemdropdown-footerrole-link"role="aaa"><te(ddd)>test</te(ddd)></a>event.target取得是<te(dd......
  • 集合框架(一) Java中Map的常见方法的使用及循环的五种方式
    Map是Java中的一种集合,它是一种键值对的映射表,可以根据键快速获取对应的值。@[toc]##1.常见使用方式以下是Java中Map的常见方法使用示例及运行结果:###1.1存储键值对使用put()方法向Map中添加键值对:```javaMap<String,Integer>map=newHashMap<>();map.put("apple",10......
  • py05-循环
    五、循环:1、while循环while条件:条件满足时,做的事情1条件满足时,做的事情2......注意:条件需提供布尔类型结果,True继续,False停止;需要循环终止条件,否则将无限循环2、for循环for变量in可迭代对象循环内容3、总结:(1)while循环的循环条件是自定义的,......
  • 聪明办法学python chap4 条件 5循环
    Python(四)条件if-elif-elsex=5ifx<0:print("x小于0")elifx==0:print("x等于0")else:print("x大于0")match-casedefcheck_value(value):matchvalue:case1:print("Valueis1&......
  • 原理-事件循环
    如何理解JS的异步?参考答案:JS是一门单线程的语言,这是因为它运行在浏览器的渲染主线程中,而渲染主线程只有一个。而渲染主线程承担着诸多的工作,渲染页面、执行JS都在其中运行。如果使用同步的方式,就极有可能导致主线程产生阻塞,从而导致消息队列中的很多其他任务无法得到执行......
  • java集合框架(一)Map的常见使用及循环的五中方式
    Map循环遍历的五种方法先使用Map方法定义数据Mapmap=newHashMap();map.put(0,"张三");map.put(1,"李四");map.put(2,"王五"); 1.通过key的set集合进行遍历,然后通过key来取map的valueSetset=map.keySet();for(Object......
  • while循环和dowhile循环
    while语句也称条件判断语句,它的循环方式为利用一个条件来控制是否要继续反复执行某段语句,当条件表达式的返回值为真时则执行{}中的语句,当执行完{}中的语句后,重新判断条件表达式的返回值,直到表达式返回的结果为假时,退出循环语法:while(布尔表达式){循环内容}dowhile与while循环语句......
  • python 读取文件名中带有循环变量
    标题:Python中使用循环变量读取文件名的方法**摘要:**在Python编程中,我们经常需要读取并处理多个文件。而文件名中的循环变量可以帮助我们更加灵活地处理这种情况。本文将介绍如何使用Python中的循环变量来读取文件名,并给出相关的代码示例和详细说明。1.引言在实际的数据处理中,我......
  • flask循环创建HTML标签
    app.pyfromflaskimportFlask,render_templateapp=Flask(__name__)@app.route('/')defindex():items=['item1','item2','item3']returnrender_template('index.html',items=items)......