(一) async异步函数
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/async_functionasync函数的返回值为promise对象。promise对象的结果由async函数执行的返回值决定。一个async异步函数可以包含await指令,该指令会暂停异步函数的执行,并等待Promise执行,然后继续执行异步函数,并返回结果。如果在async函数中抛出了错误,则终止错误结果,不会继续向下执行。如果想要使得错误的地方不影响async函数后续的执行的话,可以使用try catch,或者你可以直接在Promise.reject后面跟着一个catch()方法:
(二) await 表达式
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/awaitawait右侧的表达式一般为promise对象,但是也可以是其他的值如果表达式是promise对象,await返回的是promise成功的值。如果表达式是其他值,直接返回此值作为await的返回值。注意:await 必须写在async函数中,但async函数中可以没有await,如果await的promise失败了,就会抛出异常,需要通过try…catch来捕获处理async function fn(){
return new Promise((resolve, reject)=>{
reject(1);
})
}
async function fn2(){
try{
const result = await fn();
console.log('result:', result);
}catch(err){
console.log('err:',err);
}
}
fn2();
转载请注明原文地址:https://ipadbbs.8miu.com/read-11994.html