event-loop 相关问题

事件循环是指无限循环的动作,用于根据回调和消息处理数据。

setTimeout回调具体什么时候放入宏任务队列?

在 JavaScript 事件循环过程中的哪个时刻,它会发现计时器已达到其目标时间并且需要将其放置在 MacroQueue 上?完成每个

回答 1 投票 0

JavaScript 有事件表吗?

我在 Medium 上读到一篇文章,其中提到“JavaScript 有一个事件表,用于跟踪可能在一段时间间隔后或在

回答 1 投票 0

JavaScript Promise 处理程序安排行为

鉴于这个 Promise 链。 函数 getData() { 返回新的 Promise((resolve) => { // ... }) .then((数据) => 数据.someData) .then((rawData) => processData(rawData)) .catc...

回答 1 投票 0

为什么Promise.resolve()之后会发生setTimeout

在事件循环中有: 事件循环的各个阶段,每个阶段都包含自己的回调队列 微任务队列,其中包括已解决的 Promise 回调 据我了解,微任务队列...

回答 1 投票 0

任务队列中哪个任务(setTimeout 或 click 事件)优先?

我正在学习执行栈、任务队列和事件循环机制。 我连续单击按钮,直到主线程可用(就在函数 a() 完成之前),如下所示。 我以为点击(UI)

回答 2 投票 0

有关 Javascript 中微任务队列检查点的详细信息

基于这个关于JS中微任务队列检查点的公认答案并更多地查找这个概念,我开始理解以下内容: 微任务队列检查点发生在这些点...

回答 1 投票 0

微任务队列先运行还是宏任务队列先运行?

我正在阅读一篇关于Promises和事件队列的文章,根据我的理解,事件循环有一个“微任务队列”和一个“宏任务队列”。 从那篇文章中...

回答 1 投票 0

JS 事件循环总是优先考虑微任务队列而不是宏任务队列吗?

我最近正在观看 Will Sentence 关于异步 javascript 的研讨会视频,我无法理解微任务队列是否始终优先于宏任务队列。 功能显示...

回答 1 投票 0

requestAnimationFrame在主线程任务管理中属于microtask还是macrotask?如果不是,我们如何对这种渲染端任务进行分类

如何反应日程影响?我做了一些测试,似乎 hooks 是在 requestAnimationFrame 之后、setTimeout 之前调用的。所以我就想知道,scheduler的真正实现是怎样的?我检查过

回答 1 投票 0

Promise 可以保持未处理状态多长时间而不触发“unhandledrejection”事件?

我想知道浏览器到底什么时候检查未处理的承诺? 我认为检查是在事件循环结束时执行的。但简单的实验表明事实恰恰相反。 如果我注册两个哈...

回答 1 投票 0

是否可以检查 asyncio.Task 是否已阻塞或就绪?

我正在开发一个用 Python 编写的类似 make 的系统,我希望能够限制用于并行构建的内核数量,类似于 GNU make 支持的 -j/--jobs 选项。每个...

回答 1 投票 0

EventLoop 中的任务和宏任务是什么关系?

我在研究事件循环的时候,HTML标准和MDN都没有提到宏任务的概念(只是任务和微任务),但是我在一些博客中看到了它们。我想知道宏任务在哪里...

回答 1 投票 0

主线程javascript代码的执行是宏任务吗?

我正在阅读这篇关于 JavaScript 中的事件循环和微/宏任务队列的博客,但我对该博客中的陈述存有疑问: 在 JavaScript 中,在事件发生之前不允许执行任何代码...

回答 1 投票 0

任务完成后是否可以立即中断AsyncIO事件循环?

看一下下面的简单程序: 导入异步 def 回调(_): 循环 = asyncio.get_running_loop() 循环.stop() 异步定义回显(消息): 打印(消息) 异步 def main(): 循环=

回答 1 投票 0

同样的代码,为什么执行结果不一致?

我有 HTML 代码。 我有 HTML 代码。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>demo</title> </head> <body> <script src="./script1.js"></script> <script src="./script2.js"></script> <script> console.log('inline-111') setTimeout(() => { console.log('inline-setTimeout-111') }, 0); </script> <script> console.log('inline-222') setTimeout(() => { console.log('inline-setTimeout-222') }, 0); setTimeout(() => { console.log('inline-setTimeout-333') }, 0); new Promise(resolve => { console.log('inline-Promise1') resolve() }) .then(function () { console.log('inline-promise2') }) .then(function () { console.log('inline-promise3') }) </script> </body> </html> 第一个脚本标签代码。 console.log("external-111"); setTimeout(() => { console.log("setTimeout-external-111"); }, 0); 第二个脚本标签代码。 console.log("external-222"); setTimeout(() => { console.log("setTimeout-external-222"); }, 0); setTimeout(() => { console.log("setTimeout-external-333"); }, 0); new Promise((resolve) => { console.log("external-Promise1"); resolve(); }) .then(function () { console.log("external-promise2"); }) .then(function () { console.log("external-promise3"); }); 在Google Chrome(Chrome119.0.6045.200)中运行时,结果是 external-111 setTimeout-external-111 external-222 external-Promise1 external-promise2 external-promise3 inline-111 inline-222 inline-Promise1 inline-promise2 inline-promise3 setTimeout-external-222 setTimeout-external-333 inline-setTimeout-111 inline-setTimeout-222 inline-setTimeout-333 在Firefox(121.0.1)中运行时,结果是 external-111 external-222 external-Promise1 external-promise2 external-promise3 inline-111 inline-222 inline-Promise1 inline-promise2 inline-promise3 setTimeout-external-111 setTimeout-external-222 setTimeout-external-333 inline-setTimeout-111 inline-setTimeout-222 inline-setTimeout-333 为什么第二行的输出不一致? 有好心的朋友可以尝试解释一下吗 首先,我想了解当多个脚本在浏览器中混合时事件循环将如何运行。但两次运行结果却引起了混乱。 最简单的解释是外部脚本的加载时间不同。请注意,这甚至不依赖于浏览器,但在同一浏览器中多次加载页面之间也会有所不同。 如果第二个外部脚本需要更长的时间来加载,则第一个脚本中安排的超时可能会在脚本执行之前运行。如果加载时间较短,则超时将在脚本执行后运行(但仍在超时之前 - 具有相同的毫秒值 - 由第二个脚本安排)。

回答 1 投票 0

使用 nio 和选择器的应用程序中的线程数比每个请求的线程数模型低多少?

我正在尝试使用nio通道和选择器来了解java中的非阻塞io, 这是我的理解,在每个请求的线程模型中,每次监听服务器套接字接受一个新的

回答 1 投票 0

下面的Browser Engine图和JS Runtime图之间的桥梁是什么?

我一直在阅读有关浏览器如何工作以及浏览器的组件是什么的内容。我看到了各种关于浏览器如何解析 JS 和渲染过程等的文章,但我不是

回答 1 投票 0

CommonJS 与 ESM 中 setImmediate() 和 setTimeout() 回调的优先级

如果使用 CommonJS 模块,使用 setImmediate 调用 setTimeout 会出现不可预测的行为。但如果你切换到ESM(package.json中的“type”:“module”),它总是会执行

回答 1 投票 0

为什么我看不到任务队列堆积起来?

我正在阅读并与 chatGPT 讨论 setTimeout 和 setInterval 的具体用途。据我了解,主要的 JavaScript 执行线程向 Web Timer API 发送一个回调函数和一个

回答 1 投票 0

在理解异步等待方面遇到困难

我是初学者。看到这段代码的输出后,对异步编程感到困惑 异步函数 f1() { console.log('这是 f1'); 让 res = 等待 f3(); console.log('f1 的结果...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.