promise的三个缺点

promise通常用来解决回调地狱的问题,但也有几个不可忽视的缺点

promise一旦新建就会立即执行,无法中途取消

当处于pending状态时,无法得知当前处于哪一个状态,是刚刚开始还是刚刚结束

如果不设置回调函数,promise内部的错误就无法反映到外部

promise封装ajax时,由于promise是异步任务,发送请求的三步会被延后到整个脚本同步代码执行完,并且将响应回调函数延迟到现有队列的最后,如果大量使用会大大降低了请求效率。

引用[1]中提到了Promise的三种状态:pending、resolved和rejected。当Promise被创建时,它的初始状态是pending,表示Promise的操作还未完成。当操作成功完成时,Promise的状态变为resolved,表示操作成功。而当操作失败时,Promise的状态变为rejected,表示操作失败。 使用Promise的优点是: 1. Promise可以解决回调地狱的问题,使代码更加清晰和易于理解。通过使用.then()方法,可以将多个异步操作按照顺序进行处理,避免了嵌套的回调函数。 2. Promise提供了更好的错误处理机制。通过在Promise使用reject方法,可以将错误信息传递到Promise链的后续处理函数中,方便进行错误处理。 3. Promise可以很好地处理异步操作的结果。通过使用Promise的resolve方法,可以将异步操作的结果传递给Promise链的后续处理函数,使得代码更加简洁和可读。 使用Promise缺点是: 1. 一旦Promise被创建,就无法取消。这意味着一旦Promise开始执行,就无法中途停止或取消操作。 2. 如果不设置回调函数,Promise内部抛出的错误不反应到外部。这可能导致错误无法被及时捕获和处理。 3. 当前处于pending状态时,无法得知进行到哪一步了。这可能导致在处理异步操作时,无法准确地判断操作的进度。 综上所述,Promise的三种状态是pending、resolved和rejected。使用Promise的优点是解决回调地狱问题、提供更好的错误处理机制和处理异步操作的结果。然而,Promise缺点是无法取消、错误不反应到外部和无法准确判断操作进度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值