javascript await学习

await 强制后面点代码等待,直到Promise对象resolve,得到resolve的值作为await表达式的运算结果

bash 复制代码
let sArr = ['没有数据'];
function timeout(ms) {
    return new Promise((resolve, reject) => {
      console.log('我已经调用了');  
      setTimeout(() => {//模拟耗时的操作,比如从数据库取数据,取出来后才能用
        //console.log('我需要等待');
        this.sArr =['我获取到数据了'];
        //reject('error');
        resolve(this.sArr);
 }, 5000);  //reject模拟出错,返回error
    //resolve('success');
    });
  }
  async function asyncPrint() {
    try {
       console.log('start');
       await timeout();  //可以去掉await 试试看输出结果
       //console.log(abc);
       //console.log('end');
       console.log(this.sArr);
    } catch(err) {
       console.log(err); //这里捕捉错误error
    }
  }

asyncPrint();
console.log('我继续执行,不受影响');

JS中console的几种方法
10 个关于 Promise 和 setTimeout 知识的面试题,通过图解一次说透彻
js异步编程 setTimeout、Promise、Async/Await 的区别

相关推荐
我会冲击波13 分钟前
vibe coding 一个多月,我把 Claude Code + Pi 做成了桌面 IDE,还给它移植了 VS Code 的编辑体验
前端·javascript·后端
JimmtButler33 分钟前
从 Java 到 JS:我终于把闭包想明白了
javascript·后端
常宇佳1 小时前
vue3 实战系列之无法识别vue组件
前端·javascript·vue.js
全栈项目管理程序猿1 小时前
ArcGIS JS 基础教程(12):视图截图 takeScreenshot
javascript
小棉花的ai跨境之旅1 小时前
Codex 子 Agent 分工实战:Sol 当军师、Luna 当搬砖工,单任务成本压到 $0.61
javascript
daols882 小时前
vue 实现基于 vxe-table 构建多维度产品对比表
前端·javascript·vue.js
前端 贾公子2 小时前
第08章:中间件(5)
服务器·前端·javascript
二级小助手3 小时前
二级Web前端选择题高频真题20道与考场避坑笔记
javascript·css3·html5·web前端·计算机二级·二级web·web真题
前端小卡拉4 小时前
用了大半年 AI 编程工具,我才搞懂 Skill 到底是什么
前端·javascript
郭邯4 小时前
用 Intl.DateTimeFormat 手写一个时区转换器,顺便聊聊我和 AI 结对编程的日常
前端·javascript