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 整个返回的也是
            1.         [[PromiseState]]: "fulfilled"
            2.         [[PromiseResult]]: "这是远程读取的数据"
 
        })

    }
    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();
复制代码

 

posted on   totau  阅读(39)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示