1.如果返回值为一个非promise对象的时候
<script> async function main() { //如果返回值是一个非promise函数 return 521 } let p = main() console.log(p); </script>
2.如果返回值为promise对象的时候
<script> async function main() { //如果返回值是一个非promise函数 return new Promise((resolve,reject)=>{ reject('FALSE') }) } let p = main() console.log(p); </script>
3.当其为抛出异常的时候
<script> async function main() { throw 'OH,NO' } let p = main() console.log(p); </script>