当前位置: 首页 > news >正文

前端面试:promise...then与asnyc ...await

JavaScript是单线程,没有异步编程的概念,浏览器 / Node 提供了 异步 API(比如定时器、网络请求) 。为了让代码 “不阻塞”,早期用 回调函数 处理异步结果,我们可以通过函数回调机制来实现异步编程。

promise...then...链式调用避免层层嵌套。async...await是Promise 的语法糖,让异步代码更简洁、读起来更像同步,本质还是依赖 Promise。

实际开发中,建议优先用 async/await(简洁)。

  <script>function one() {console.log('回到宿舍先开空调')}function two() {console.log('打卡欧阳春晓锻炼20分钟')}function three() {console.log('洗澡睡觉')}const P1 = new Promise((resolve, reject) => {resolve('回到宿舍')})P1.then(result1 => {console.log(result1)}).then(() => {one();}).then(() => {two();}).then(()=>{three();}).catch(()=>{console.log('先回自习室拿手机'')})
</script>
<script>function one() {console.log('回到宿舍先开空调')}function two() {console.log('打卡欧阳春晓锻炼20分钟')}function three() {console.log('洗澡睡觉')}const P1 = new Promise((resolve, reject) => {resolve('回到宿舍')})async function HH() {try {const result = await P1;console.log(result)one();two();three();} catch (error) {console.log('先回自习室拿手机'')}}HH();</script>
 <script>const P1 = new Promise((resolve, reject) => {resolve('回到宿舍')})const P2 = new Promise((resolve, reject) => {resolve('回到宿舍先开空调')})const P3 = new Promise((resolve, reject) => {resolve('打卡欧阳春晓锻炼20分钟')})const P4 = new Promise((resolve, reject) => {resolve('洗澡睡觉')})async function HH() {try {const [result1,result2,result3,result4] = await Promise.all([P1,P2,P3,P4]);console.log(result1,result2,result3,result4);} catch (error) {console.log('先回自习室拿手机')}}HH();</script>

http://www.lryc.cn/news/617584.html

相关文章:

  • 简单了解MongoDB数据存储
  • ‌太钢建材:筑就未来,品质见证
  • 软考倒计时 巧用芝麻倒计时软件 助力高效备考 有效提升备考效率
  • DNS(域名系统)
  • 关于线性DP模板
  • 月报 Vol.02:新增条件编译属性 cfg、#alias属性、defer表达式,增加 tuple struct 支持
  • 基于OpenCV的实时美颜技术:从传统算法到深度学习融合实现
  • 基恩士 CA CNX10U 视觉连接器REPEATER CA CN or CV- C 日本原装进口
  • 【软考中级网络工程师】知识点之 TCP 协议深度剖析
  • 嵌入式第二十五课!!!文件读写操作补充与应用、以及文件流定位相关函数接口
  • idea没有 Active Profiles 的填写位置
  • 企业级 IT 运维服务平台数据备份方案:基于 rsync 的自动化实现
  • 视觉相机偏移补偿
  • 在macOS上扫描192.168.1.0/24子网的所有IP地址
  • 初识影刀:将多个相同格式EXCEL中内容汇总到一个EXCEL文件中去
  • Camera open failed
  • 在Linux中模拟配置高性能web服务器
  • gophis钓鱼
  • 掌握while循环:C语言编程基础
  • [动态规划]最长公共子序列(LCS)
  • golang 基础案例_01
  • Go选手如何快速上手第三方库
  • Springboot-vue 地图展现
  • JDK21虚拟线程和 Golang1.24协程的比较
  • 《姜妮与Veda的最后一次传输》
  • 李宏毅2025《机器学习》-第十讲:AI“思想钢印”:深入解析大模型的知识编辑技术
  • 秒懂边缘云|1分钟了解边缘安全加速 ESA
  • 机器学习——K-means聚类
  • 第9节 大模型分布式推理核心挑战与解决方案
  • 数据备份与进程管理