JavaScript es8 async
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();
只是查找方便的总结
分类:
JavaScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!