js的EventLoop事件循环机制调用栈、微任务、消息队列执行顺序优先级

简介: js的EventLoop事件循环机制调用栈、微任务、消息队列执行顺序优先级

优先级是调用栈 > 微任务 > 消息队列

// 调用栈
function func() {
    console.log("func");
}

// 消息队列
setTimeout(() => {
    console.log("setTimeout");
}, 0)


var p = new Promise((resolve, reject) => {
    console.log("Promise");
    resolve()
})

// 微任务
p.then(() => {
    console.log("then");
})

func()
/**
 * 执行结果
 Promise
 func
 then
 setTimeout
 */

参考

2分钟了解 JavaScript Event Loop | 面试必备

            </div>
目录
相关文章
|
消息中间件 JavaScript
js基础笔记学习263消息队列1
js基础笔记学习263消息队列1
161 0
js基础笔记学习263消息队列1
|
消息中间件 JavaScript
js基础笔记学习264消息队列2
js基础笔记学习264消息队列2
135 0
js基础笔记学习264消息队列2
|
消息中间件 JavaScript 前端开发
js的EventLoop事件循环机制调用栈、微任务、消息队列执行顺序优先级
js的EventLoop事件循环机制调用栈、微任务、消息队列执行顺序优先级
161 0
|
消息中间件 Web App开发 存储
浅谈浏览器架构、单线程js、事件循环、消息队列、宏任务和微任务
关键词:多进程、单线程、事件循环、消息队列、宏任务、微任务
浅谈浏览器架构、单线程js、事件循环、消息队列、宏任务和微任务
|
消息中间件 JavaScript
js的EventLoop事件循环机制调用栈、微任务、消息队列执行顺序优先级
js的EventLoop事件循环机制调用栈、微任务、消息队列执行顺序优先级
143 0
|
消息中间件 JavaScript 前端开发
js的EventLoop事件循环机制调用栈、微任务、消息队列执行顺序优先级
js的EventLoop事件循环机制调用栈、微任务、消息队列执行顺序优先级
237 0
|
消息中间件 C语言 RocketMQ
消息队列 MQ操作报错合集之出现"Connection reset by peer"的错误,该如何处理
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
消息中间件 Java C语言
消息队列 MQ使用问题之在使用C++客户端和GBase的ESQL进行编译时出现core dump,该怎么办
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
消息中间件 存储 Kafka
MQ 消息队列核心原理,12 条最全面总结!
本文总结了消息队列的12个核心原理,涵盖消息顺序性、ACK机制、持久化及高可用性等内容。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
|
消息中间件
手撸MQ消息队列——循环数组
队列是一种常用的数据结构,类似于栈,但采用先进先出(FIFO)的原则。生活中常见的排队场景就是队列的应用实例。在数据结构中,队列通常用数组实现,包括入队(队尾插入元素)和出队(队头移除元素)两种基本操作。本文介绍了如何用数组实现队列,包括定义数组长度、维护队头和队尾下标(front 和 tail),并通过取模运算解决下标越界问题。此外,还讨论了队列的空与满状态判断,以及并发和等待机制的实现。通过示例代码展示了队列的基本操作及优化方法,确保多线程环境下的正确性和高效性。
244 0
手撸MQ消息队列——循环数组