同步,异步代码区别? ----解决异步的执行顺序

1.理解异步

栗子:

cpp 复制代码
async function asyncFunc() {
  console.log('1. 进入 async 函数');
  await new Promise(resolve => setTimeout(resolve, 1000)); // 等待 1 秒
  console.log('3. await 结束,继续执行');
}

console.log('A. 开始');
asyncFunc(); // 调用 async 函数
console.log('B. asyncFunc 已调用,继续执行');

输出:

cpp 复制代码
A. 开始
1. 进入 async 函数
B. asyncFunc 已调用,继续执行
(等待 1 秒)
3. await 结束,继续执行

ps:

await 暂停的是 async 函数内部 await 之后的代码

函数外部的"后面代码"会立即执行(因为 async 函数是非阻塞的)

2.异步和同步的区别

ms:

主要区别在于执行顺序和阻塞行为。

同步代码:每一步操作都必须等待前一步操作完成后再继续执行。

异步代码:这种代码不会阻塞后续代码的执行,异步操作会在完成时通过回调函数,async,await等记住通知相关代码片段来处理结果。

相关推荐
丷丩2 分钟前
MapLibre GL JS第38课:根据缩放级别改变建筑颜色
javascript·map·mapbox·maplibre gl js
许彰午9 分钟前
12_ArrayList与LinkedList深度对比
java·前端·python
lichenyang45326 分钟前
鸿蒙练习 12:Provider/Consumer 跨层共享 + HAR 多模块拆分
前端
朱涛的自习室33 分钟前
逃离“古法测试”:AI 测试的“三大定律”
android·前端·人工智能
糖果店的幽灵34 分钟前
Claude Code 完全实战指南 - 第二章:CLI 命令大全
前端·chrome
半个烧饼不加肉1 小时前
JS 底层探究--上下文
开发语言·javascript·ecmascript
ZC跨境爬虫1 小时前
跟着 MDN 学CSS day_45:媒体查询入门指南——从语法到移动优先实践
前端·css·ui·html·tensorflow·媒体
Hoey2 小时前
虚拟 DOM 和 DIFF 算法
前端·vue.js
bkspiderx2 小时前
HTTP协议:Web通信的“通用语言”解析
前端·网络协议·http
云水一下2 小时前
模块系统与 npm——万物皆模块
前端·npm·node.js