async和await

async和await

学习路径

什么是 async/await
async/await 的基本使用
async/await 的使用注意事项

什么是 async/await

async/await出现之前,开发者只能通过链式 .then() 的方式处理 Promise 异步操作

.then 链式调用的优点:

解决了回调地狱的问题

.then 链式调用的缺点:

代码冗余、阅读性差、不易理解
async/await 是 ES8(ECMAScript 2017)引入的新语法,用来简化 Promise 异步操作

async/await 的基本使用

使用async/await可以获取then回调函数里面的返回数据
使用 async/await简化 Promise 异步操作的示例代码如下

const fs = require('fs')

function getfile(filePath) {
    return new Promise((resolve, reject) => {
        fs.readFile(filePath, 'utf8', (err, data) => {
            if (err) {
                reject(err)
            } else {
                resolve(data)
            }
        })
    })
}

//async 标记当前的方法时异步方法
async function fr() {
    try {  //尝试执行的代码 如果没有错误 就执行完try结构中的代码块
        let res = await getfile('./data/a.txt')
        console.log(res);
    } catch (err) {  //如果有错就跳转到catch 结构中 执行代码块
        console.log(err);
    }
}

fr()

async:代表异步
await:代表等待,表示需要等待后面的异步方法执行完毕之后再执行后续的代码

async/await 的使用注意事项

  1. 如果在 function 中使用了 await,则 function 必须被 async 修饰
  2. 在 async 方法中,第一个 await 之前的代码会同步执行,await 之后的代码会异步执行
  3. 在使用async和await的时候,异常的处理通常会添加异常处理结构
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值