定时器和promise_一文读懂Promise

本文介绍了JavaScript中的Promise对象,用于解决回调地狱问题,提供了一种更优雅的处理异步操作的方式。文中通过实例解释了Promise的基本语法、三种状态(pending、fulfilled、rejected)以及链式操作。此外,还提到了Promise.all()和Promise.race()方法,用于并行和竞争处理多个Promise。最后,简述了async/await的使用,使得异步代码更接近同步风格。
摘要由CSDN通过智能技术生成

前言


之前聊事件循环(Event Loop)机制时有说到,js是一门单线程语言,所以js代码总是同步、按顺序执行,为了解决这一麻烦,js发明之初便有了异步的概念,通过回调函数(callback)实现。

设想一下:有3个接口,每一个接口的调用参数都依赖上一个接口的返回值,拿jquery的ajax举例,我们很可能会写出以下代码:

d15d53d4f804382764a618c5294ddb12.png

实际开发中我们大概率遇到更多层回调的场景,上述代码会陷入多层级的回调函数中,当其中的业务处理代码(do something)也比较复杂时,可读性和可维护性都非常糟糕(加上不写注释)

回调地狱就此产生

如何解决回调地狱


为了维持js代码的优雅,es6新增了Promise对象,并被广泛使用

Promise是什么


promise是es6新增的一个对象

用来传递异步操作的消息,提供了统一的API以便进一步处理异步事件未来会发生的事情

Promise基本语法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值