ES8新特性

1、async和await

async 函数,使得异步操作变得更加方便,它其实就是 Generator 函数的语法糖。它有更好的语义,并且返回值是Promise。
 
async用于定义一个异步函数,该函数返回一个Promise或非Promise对象。
 
await用于一个异步操作之前,表示要“等待”这个异步操作的返回值。await也可以用于一个同步的值。

初始async:

async function test() {
   
    console.log("test")
    return new Promise((resolve, reject) => {
   
        //resolve("suc-111")
        reject("err-222")
    })
}
//console.log(test()) //primise
let res = test()
res.then(res => {
   
    console.log("success", res)
}).catch(err => {
   
    console.log("err", err)
})
/*小结:
    1. async返回值是非promise对象,状态为fulfilled,则进入then
    2. async返回值是promise对象,状态为fulfilled 或 reject,则进入then 或 catch
*/

结合await:

function ajax1() {
   
    return new Promise((resolve, reject) => {
   
        setTimeout(() => {
   
            //resolve("data-111")
            reject("err-111") //执行reject后会直接进入catch,没有catch就会报错
        }, 1000)
    })
}
function ajax2() {
   
    return new Promise((resolve, reject) => {
   
        
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值