async function f() {
let a=await "h5"
let b=await "web"
return {a,b};
}
f().then(v => console.log(v)) 执行上述代码的结果是
{a: "h5", b: "web"}
async函数内部return语句返回的值,会成为(then)方法回调函数的参数
async function f() {
await Promise.reject('出错了');
return await Promise.resolve('hello world');
}:
f().then(v => console.log(v))
.catch(e => console.log(e))
"出错了"
reject 会中断后续await语句执行
如果一个await语句操作失败,不想中断后续await语句执行,可以在async内部使用 try{}catch{}
async function fn() {
await Promise.resolve("hello")
return await Promise.resolve("word")
}
fn().then(v => console.log(v))执行上述代码的结果是:"sord"
async函数内部return语句返回的值,会成为(then)方法回调函数的参数