未命名
一、asyncawait具体使用规则(1)async的函数在执行后都会自动返回一个Promise对象,有无值根据有无return值。(2)await必须在async函数里使用,不能单独使用。(
一、async await具体使用规则
(1)async的函数在执行后都会自动返回一个Promise对象,有无值根据有无return值。
(2)await必须在async函数里使用,不能单独使用。
(3)await后面需要跟Promise对象,不然就没有意义,而且await后面的Promise对象不必写then,因为await的作用之一就是获取后面Promise对象成功状态传递出来的参数。
(4)async/await作用:同步异步化。
二、基本语法
function aaa(val) {
return new Promise((resolve, reject) => {
if(val){
resolve('success')
}else{
reject('Error')
}
})
}
// async await 的用法
async function fn(val) {
try {
let result = await aaa(val)
return result
} catch (err) {
return err
}
}
// 返回的 a,b 是一个 promise 对象
var a = fn(true)
var b = fn(false)
a.then((res)=>{
console.log(res) // success
})
b.then((res)=>{
console.log(res) // Error
})
三、async await 和 promise 的区别
async/await 出现的异常是无法捕获的,需要借助 try/catch 来捕获异常
任何一个await后面的promise对象变为reject,那么整个async都会被中断
使用 async await 的话,catch 能处理 JSON.parse 错误
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~