1.链式调用的可读性
虽然Promise通过链式调用提高了代码的可读性,但当链过长时,可能会导致代码难以理解和维护
2.一旦创建,无法取消
Promise对象在创建后会立即执行,并且无法中途取消。这意味着如果有一个长时间运行的异步操作,我们无法在需要时停止它。
3.无法得知当前状态
Promise对象有三种状态:pending(进行中)、fulfilled(成功)和rejected(失败)。然而,一旦Promise的状态从pending变为fulfilled或rejected,我们就无法再获取到其当前的状态或进度。这意味着我们无法得知异步操作何时完成,或者已经完成了多少。
4.错误处理不够灵活
如果不设置回调函数,promise 内部抛出的错误,不会反应到外部。
如果忘记添加catch方法,Promise内部的错误可能会被忽略,这可能导致难以调试的问题。