正文
前两天面试的时候,面试官问到 Promise 有哪些缺点?
我的回答是,在处理多个异步操作时,需要编写多个 then()
或 catch()
方法来处理结果,尽管可以有效解决回调地狱(Callback Hell),但也会有纵向发展的趋势,不够优雅。
就没想起以下这几点:
- 无法取消 Promise,一旦创建它就会立即执行,无法中途取消;
- 在不设置回调函数情况下,Promise 内部抛出错误,不会反馈到外部;
- 当处于 pending 状态,无法得知目前进展到哪个阶段。
哦,原来上面这些是它的缺点啊,当时就没往这方面想。
但是细想一下,第一点真的算是它的缺点吗?
有兴趣的话,请看以下两个问答: