async和await是在es7中的内容,不过现在主流浏览器都支持,今天我们就来说说怎么用。
首先你得先了解:es6中的promise,链接:JS中promise的基础用法
async和await是用来处理异步操作的,把异步变为同步的一种方法。
async声明一个function来表示这个异步函数,await用于等待函数中某个异步操作执行完成。
async function vacation() { return "result"; } vacation().then((res)=>{ console.log(res);//输出result })
async返回的是一个promise对象,返回值可在promise中的then方法中的第一个回调函数中使用。
await只能用于async的内部,await用于在一个异步操作之前,表示要等待这个异步操作的返回值。
如果await得到不是一个promise对象,那么就不会等待这个异步操作。
如果是一个promise对象,await就会等待promise对象的resolve,得到传入resolve的参数,作为返回值。
function edition(num){ return new Promise((resolve, reject)=>{ setTimeout(() => { resolve(2*num) }, 2000); }) } async function attract(