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 的区别

相关推荐
苏打水com3 小时前
第九篇:Day25-27 Vue进阶——组件复用与状态管理(对标职场“复杂项目”需求)
前端·javascript·vue.js
梦里不知身是客114 小时前
flink对于迟到数据的处理
前端·javascript·flink
一 乐4 小时前
人事管理系统|基于Springboot+vue的企业人力资源管理系统设计与实现(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·spring boot·后端
秋氘渔4 小时前
Vue 3 组合式API中的生命周期钩子函数介绍
前端·javascript·vue.js
拉不动的猪4 小时前
requestAnimationFrame 与 JS 事件循环:宏任务执行顺序分析
前端·javascript·面试
han_4 小时前
开发提效利器 - 用好Snippets
前端·javascript·visual studio code
mCell5 小时前
为什么在 Agent 时代,我选择了 Bun?
javascript·agent·bun
谎言西西里6 小时前
掌握原型链,写出不翻车的 JS 继承
javascript
我笔记7 小时前
vue 子父调用
前端·javascript·vue.js
2401_860319527 小时前
在React Native鸿蒙跨平台开发中实现一个冒泡排序算法并将其应用于数据排序,如何进行复制数组以避免直接修改状态中的数组
javascript·算法·react native·react.js·harmonyos