ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JavaScript es8 async

2022-09-17 00:00:38  阅读:115  来源: 互联网

标签:返回 await console JavaScript es8 resolve promise 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();

 

标签:返回,await,console,JavaScript,es8,resolve,promise,async
来源: https://www.cnblogs.com/qutao125/p/16701699.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有