课程名称:前端工程师2022版
课程章节: async/await基础
主讲老师:alex
课程内容:
今天学习的内容包括:
async/await基础
课程收获:
async/await
1、async用于申明一个function是异步的,而await 用于等待一个异步方法执行完成
const wait=(ms)=>{ return new Promise((resolve)=>{ setTimeout(()=>{resolve()},ms); }) } // 使异步(Promise)操作更简洁、更方便 // 使异步代码看起来像同步的,更容易理解 async function adPlay(){ //显示广告 await wait(1000);//await后面跟着是一个Promise对象,会等待Promise返回结果后,再继续执行后面的代码; adEl.classList.remove('none'); //隐藏广告 await wait(2000); adEl.classList.add('none'); } adPlay();
2、async 函数的返回值
async 函数默认返回 Promise 对象,类似p.then();
async 函数内部 return 后面的值,如果不是 Promise 对象,相当于包了一层 Promise.resolve() 再返回;如果是 Promise 对象,直接返回该 Promise
3、async 函数的各种形式
async function fn(){} const fn = async function () {}; const fn = async () => {}; const fn = async param => {};
4、.async 函数的报错捕获
可以通过 try...catch 或者 Promise...catch 的方式来处理错误
注:先执行同步代码,再执行异步代码。
async内部代码是同步的,但async本身是异步的。