Es6-----------async和await

异步编程的解决方案:1,生成器函数  2,promise  ,3,async和await

async 函数是什么?一句话,它就是 Generator 函数的语法糖。

Async/Await就是一个自执行的generate函数。利用generate函数的特性把异步的代码写成“同步”的形式

async函数的特点:

    1. await只能放到async函数中
    2. 相比genrator语义化更强
    3. await后面可以是promise对象,也可以数字、字符串、布尔,,一般为promise对象
    4. async函数返回是一个promise对象,,await返回的是promise成功地返回值
    5. 只要await语句后面Promise状态变成 reject, 那么整个async函数会中断执行,(可以通过try...catch捕获处理一下

async function f1(){
    return "aaa"
    // 只要你返回的结果不是一个 Promise类型的对象 , 这个函数的返回结果就是一个成功的promise  fulfilled

    throw new Error("出错啦!");
    // 抛出错误,返回的结果是一个失败的promise

    return new Promise((resolve,reject)=>{
        resolve(...)
        reject(...)
    })
    返回的promise成功,那f1就成功;返回的promise失败,那f1就失败
};
const result = f1();
console.log(result)

如何解决async函数中抛出错误,不影响后续执行

    1:try{

         }catch(e){
            
         }

    2.promise本身的catch

await  命令 

正常情况下,await命令后面是一个 Promise 对象,返回该对象的结果。如果不是 Promise 对象,就直接返回对应的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值