理解Javasript中的Promise、asnyc与await之间的关系

本文探讨了JavaScript中Promise、async和await的关系。Promise代表异步操作的结果,提供了链式调用解决异步痛点。await只能在async函数中使用,用于处理Promise对象,通过堵塞后续代码来等待Promise的完成。async函数返回Promise,简化了.then链式调用,使得异步代码更易于阅读和理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       

        从一句 “await必须在asnyc函数中使用,await后面接的是Promise对象”中大致可以看出他们三者的关系,即await是asnyc的衍生品,用来处理Promise对象。

 

1、Promise对象

 官方解释:

Promise 是一个对象,它代表了一个异步操作的最终完成或者失败。因为大多数人仅仅是使用已创建的 Promise 实例对象,所以本教程将首先说明怎样使用 Promise,再说明如何创建 Promise。

本质上Promise是一个函数返回的对象,我们可以在它上面绑定回调函数,这样我们就不需要在一开始把回调函数作为参数传入这个函数了。

new Promise((resolve, reject) => {
    console.log('初始化');

    resolve();
})
.then(() => {
    throw new Error('有哪里不对了');
        
    console.log('执行「这个」”');
})
.catch(() => {
    console.log('执行「那个」');
})
.then(() => {
    console.log('执行「这个」,无论前面发生了什么');
});

输出结果:

初始化
执行“那个”
执行“这个”,无论前面发生了什么

Promise对象中有两个参数,一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值