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

相关推荐
成遇3 分钟前
Eslint基础使用
javascript·typescript·es6
前端小趴菜055 小时前
React-React.memo-props比较机制
前端·javascript·react.js
RadiumAg8 小时前
记一道有趣的面试题
前端·javascript
yangzhi_emo8 小时前
ES6笔记2
开发语言·前端·javascript
yanlele8 小时前
我用爬虫抓取了 25 年 5 月掘金热门面试文章
前端·javascript·面试
烛阴10 小时前
void 0 的奥秘:解锁 JavaScript 中 undefined 的正确打开方式
前端·javascript
初遇你时动了情10 小时前
腾讯地图 vue3 使用 封装 地图组件
javascript·vue.js·腾讯地图
dssxyz10 小时前
uniapp打包微信小程序主包过大问题_uniapp 微信小程序时主包太大和vendor.js过大
javascript·微信小程序·uni-app
ohMyGod_12313 小时前
React16,17,18,19新特性更新对比
前端·javascript·react.js
@大迁世界13 小时前
第1章 React组件开发基础
前端·javascript·react.js·前端框架·ecmascript