导入
异步编程入门
学习 Node.js 中的异步编程如何实现高效、非阻塞地处理多个任务。
...
在同步执行中,每个任务必须在下一个任务开始前完成,导致顺序的、阻塞的流程
...
在异步执行中,任务可以独立运行,允许非阻塞的并行流程,从而最大化效率。
No configuration found for ID: 3cbedcefd0bdee0b6472b9d66dcc051c21dab14444d741cc58aaf4db96926eaf
代码示例
1"Step 1: Start boiling water" 2"Step 3: Start chopping vegetables" //(立即在 Step 1 之后) 3"Step 2: Water boiled!" //(2 秒后) 4"Step 4: Vegetables chopped!" //(3 秒后)
No configuration found for ID: 18f780dd62645505d12c46b3e452da6956024fc0c3bf230bab17416f54f08a6d
显示解决方案
以下为 cookingProcess.js 的代码:
解决方案:使用异步任务模拟烹饪过程
1console.log("Step 1: Start boiling water"); 2 3setTimeout(() => { 4 console.log("Step 2: Water boiled!"); 5}, 2000); 6 7console.log("Step 3: Start chopping vegetables"); 8 9setTimeout(() => { 10 console.log("Step 4: Vegetables chopped!"); 11}, 3000);
- 第 1 行: 立即记录 "Step 1: Start boiling water"。
- 第 3–5 行: 设置 "Step 2: Water boiled!" 在 2 秒延迟后运行。该函数将异步执行。
- 第 7 行: 立即记录 "Step 3: Start chopping vegetables",无需等待水烧开。
- 第 9–11 行: 设置 "Step 4: Vegetables chopped!" 在 3 秒延迟后运行。该函数与 第 3 行 一样是异步的,允许同步代码继续执行而不会被阻塞。
- 第 1 行: 立即记录 “Step 1: Start boiling water”。
- 第 3–5 行: 设置 “Step 2: Water boiled!” 在 2 秒延迟后运行。该函数将异步执行。
- 第 7 行: 立即记录 “Step 3: Start chopping vegetables”,无需等待水烧开。
- 第 9–11 行: 设置 “Step 4: Vegetables chopped!” 在 3 秒延迟后运行。该函数与 第 3 行 一样是异步的,允许同步代码继续执行而不会被阻塞。