vue中async和await异步编程
async&await是Promise的语法糖,使用他的目的就是用同步的写法,写异步的操作。async 是“异步”的简写, async 用于申明一个异步的 function,await 可以认为是 async wait 的简写,await 用于等待一个异步方法执行完成。当我们函数中需要返回值是promise对象时通常用async和await简化。
async作为一个关键字放到函数之前,表示函数是异步的函数,异步函数也就意味着该函数的执行不会阻塞后面代码的执行,等async 函数返回一个promise 对象。
1.async
async可以作用在任何方法前, 返回值是一个Promise对象
async function a(){ } console.log(a()); var b = (async () => { }) console.log(b());
async函数内部return的返回值, 会成为then回调函数的参数
async function a() { return 123 } a().then(res=>{ console.log(res); })
async作用的方法,如果内部出现报错,可以被promise的catch方法捕获
async function a() { console.log(a); let a = 123; } a().catch(err=>{ console.log(err); })
2. await
await只能作用在async修饰的方法中,不能单独使用,如果使用报错、
function a(){ await //报错:await is not defined console.log(123); } a()
正常情况 await后面跟着一个Promise对象,返回的是Promise对象的成功后结果
async function a(){ var b = await new Promise((resolve,reject)=>{ resolve(123) }) return b } a().then(res=>{ console.log(res); })
下一篇:
前端框架Vue中各个文件夹的具体作用简介