前端JavaScript中事件循环eventloop机制是如何运作的?

2026-04-09 17:151阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1744个文字,预计阅读时间需要7分钟。

前端JavaScript中事件循环eventloop机制是如何运作的?

前言:我们知道,JavaScript 是单线程执行的,那么异步的代码是如何处理的呢?例如下面的代码是如何进行输出的?

console.log(1);setTimeout(function(){ console.log(2);}, 0);new Promise(function(resolve){ console.log(3); resolve();}).then(function(){ console.log(4);});

前言

我们知道 js 是单线程执行的,那么异步的代码 js 是怎么处理的呢?例如下面的代码是如何进行输出的:

console.log(1); setTimeout(function() { console.log(2); }, 0); new Promise(function(resolve) { console.log(3); resolve(Date.now()); }).then(function() { console.log(4); }); console.log(5); setTimeout(function() { new Promise(function(resolve) { console.log(6); resolve(Date.now()); }).then(function() { console.log(7); }); }, 0);

在不运行的情况可以先猜测下最终的输出,然后展开我们要说的内容。

阅读全文

本文共计1744个文字,预计阅读时间需要7分钟。

前端JavaScript中事件循环eventloop机制是如何运作的?

前言:我们知道,JavaScript 是单线程执行的,那么异步的代码是如何处理的呢?例如下面的代码是如何进行输出的?

console.log(1);setTimeout(function(){ console.log(2);}, 0);new Promise(function(resolve){ console.log(3); resolve();}).then(function(){ console.log(4);});

前言

我们知道 js 是单线程执行的,那么异步的代码 js 是怎么处理的呢?例如下面的代码是如何进行输出的:

console.log(1); setTimeout(function() { console.log(2); }, 0); new Promise(function(resolve) { console.log(3); resolve(Date.now()); }).then(function() { console.log(4); }); console.log(5); setTimeout(function() { new Promise(function(resolve) { console.log(6); resolve(Date.now()); }).then(function() { console.log(7); }); }, 0);

在不运行的情况可以先猜测下最终的输出,然后展开我们要说的内容。

阅读全文