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

相关推荐
老虎06277 分钟前
JavaWeb前端02(JavaScript)
开发语言·前端·javascript
Python私教27 分钟前
YggJS RLogin暗黑霓虹主题登录注册页面 版本:v0.1.1
开发语言·javascript·ecmascript
南半球与北海道#1 小时前
el-table合并单元格
javascript·vue.js·elementui·表格合并
Jimmy1 小时前
客户端存储 - IndexedDB
前端·javascript·indexeddb
成小白1 小时前
前端实现两个页面之间的通讯
前端·javascript
啷咯哩咯啷2 小时前
element-plus el-tree-v2大数据量勾选节点卡顿问题
前端·javascript·vue.js
EndingCoder3 小时前
测试 Next.js 应用:工具与策略
开发语言·前端·javascript·log4j·测试·全栈·next.js
前端李二牛3 小时前
Vue3 特性标志
前端·javascript
烛阴4 小时前
TypeScript 函数重载入门:让你的函数签名更精确
前端·javascript·typescript
emojiwoo5 小时前
React 状态管理:useState 与 useDatePersistentState 深度对比
前端·javascript·react.js