vue中async和await异步编程
async&await是Promise的语法糖,使用他的目的就是用同步的写法,写异步的操作。async 是“异步”的简写, async 用于申明一个异步的 function,await 可以认为是 async wait 的简写,await 用于等待一个异步方法执行完成。当我们函数中需要返回值是promise对象时通常用async和await简化。async作为一个关键字放到函数之前,表示函
·
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);
})
更多推荐
已为社区贡献1条内容
所有评论(0)