学习Promise框架(三)--asyns函数和awite
/* * 1.async函数 * 函数的返回值为promise对象 * promise对象的结果由async函数执行的返回值决定 * 2.await表达式 * await右侧的表达式一般为promise对象,也可以是其他的值 * 如果表达式是promise对象,await返回的是promise成功的值 * 如果是其他值,直接将此值作为await的返回值 * 3.注意: * await必须写在async函数中,但async函数中可以没有await * 如果await的promise失败了,就会抛出异常,需要通过try...catch... 来捕获 * */ async function fn1() { //return Promise.reject(2); // return Promise.resolve(2); return new Promise((resolve, reject) => { setTimeout(()=>{ reject(1) },1000) }) } const result = fn1(); result.then( value => { console.log("onResolved()...",value) }, reason => { console.log(onRejected()...,reason) } ) function fn2() { return new Promise((resolve, reject) => { setTimeout(()=>{ reject(5) },1000) }) } function fn4(){ return 4; } async function fn3() { try { const value = await fn2(); console.log("value",value) }catch (e) { console.log("得到失败的结果:",e); } // const value = await fn4(); // console.log("value",value) } fn3()
await目标文档: async函数文档:
上一篇:
IDEA上Java项目控制台中文乱码