1 async函数 返回一个promise类型
2 promis类型有返回的结果决定async结果
3, async 里面可以不用包含await
async function aa(){ //返回值是个非promise的值,则此方法返回的状态(fulfilled),且返回值是1 //return 1 //如果返回一个异常//throw "too low"; //[[PromiseState]]: "rejected",返回错误, //[[PromiseResult]]: "too low", c错误信息为 异常信息 //返回一个promise对象 return new Promise(function(resolve, reject){ //获取到远程数据 resolve('这是远程读取的数据'); //返回的如果是resolve,则async 整个返回的也是 })
}let a = aa(); a.then(res=>{ //成功打印返回数据 console.log(res) },err=>{ //rejuect 返回错误信息 console.warn(err) })
console.log(a);
2 await,
运行必要条件
await 必须要包裹在async 里面,
await 右边是一个promise对象
await 返回的是promise的成功值
await 的promis 失败,抛出异常就需要try-catch 捕获
async function main1(){ try { await new Promise((resolve,reject)=>{ //请求异步的数据,如果超时, 请求出错,或无误,分别用下面两个结果返回 // resolve('ok') reject('shibai') }) } catch (error) { console.log('---', error) } } let bbbb = main1();