async和await

本文介绍了JavaScript中的async/await语法,它们是基于Promise的语法糖,使得异步操作更易读和管理。async函数可以独立定义,而await关键字必须与async结合使用,用于等待异步操作完成。通过示例展示了在不使用和使用async/await的情况下,代码执行顺序的区别,说明await能让异步操作按照预期顺序执行。
摘要由CSDN通过智能技术生成

①async和await是基于Promise之上的语法糖,可以让异步操作更加简单明了

②async可以单独出现,但await必须和async搭配使用

③await等待的意思,可以让异步操作变成同步操作

具体示例

(1)正常情况下的同步代码

//没使用async和await

function one() {
    return 'I am one'
}

function two() {
    return 'I am two'
}

function three() {
    return 'I am three'
}

function run() {
    console.log(one());
    console.log(two());
    console.log(three());
}

run()

输出顺序

 (2)第二个函数中加入setTimeOut异步函数后

//没使用async和await

function one() {
    return 'I am one'
}

// 异步函数
function two() {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve('I am two')
        }, 3000)
    })
}

function three() {
    return 'I am three'
}

function run() {
    console.log(one());
    console.log(two());    //可以看到输出的Promise是Pending进行中的状态
    console.log(three());
}

run()

 输出:

看出第二个函数返回正在进行中的Promise对象

(3)使用async和await

//没使用async和await

function one() {
    return 'I am one'
}

// 异步函数
function two() {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve('I am two')
        }, 3000)
    })
}

function three() {
    return 'I am three'
}

async function run() {
    console.log(one());
    console.log(await two());    //可以看到输出的Promise是Pending进行中的状态
    console.log(three());
}

run()

 

await修饰第二个函数,这样可以等待第二个函数执行完毕之后才执行后面的,因此会按顺序输出one、two、three 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值