Promise 不能被取消,真的算是缺点吗?

简介: Promise 不能被取消,真的算是缺点吗?

正文


前两天面试的时候,面试官问到 Promise 有哪些缺点?


我的回答是,在处理多个异步操作时,需要编写多个 then()catch() 方法来处理结果,尽管可以有效解决回调地狱(Callback Hell),但也会有纵向发展的趋势,不够优雅。


就没想起以下这几点:


  • 无法取消 Promise,一旦创建它就会立即执行,无法中途取消;
  • 在不设置回调函数情况下,Promise 内部抛出错误,不会反馈到外部;
  • 当处于 pending 状态,无法得知目前进展到哪个阶段。


哦,原来上面这些是它的缺点啊,当时就没往这方面想。


但是细想一下,第一点真的算是它的缺点吗?


有兴趣的话,请看以下两个问答:


目录
相关文章
|
12天前
|
Java 程序员 测试技术
我有一个朋友写出了17种触发NPE的代码!避免这些坑
我有一个朋友,写代码的时候常常遭到NPE背刺,痛定思痛,总结了NPE出没的17个场景,哪一个你还没有遇到过?
|
4月前
|
存储 前端开发 JavaScript
【面试题】面试官问:如果有100个请求,你如何使用Promise控制并发?
【面试题】面试官问:如果有100个请求,你如何使用Promise控制并发?
|
4月前
|
存储 前端开发 JavaScript
面试官问:如果有100个请求,你如何使用Promise控制并发?
面试官问:如果有100个请求,你如何使用Promise控制并发?
|
2月前
|
开发框架 JavaScript 前端开发
描述JavaScript事件循环机制,并举例说明在游戏循环更新中的应用。
JavaScript的事件循环机制是单线程处理异步操作的关键,由调用栈、事件队列和Web APIs构成。调用栈执行函数,遇到异步操作时交给Web APIs,完成后回调函数进入事件队列。当调用栈空时,事件循环取队列中的任务执行。在游戏开发中,事件循环驱动游戏循环更新,包括输入处理、逻辑更新和渲染。示例代码展示了如何模拟游戏循环,实际开发中常用框架提供更高级别的抽象。
14 1
|
5月前
|
前端开发 Java
Promise--代码实现-- ajax 传统方式和 promise 方式和 promise 代码优化/重排 方式的对比--综合代码示例
Promise--代码实现-- ajax 传统方式和 promise 方式和 promise 代码优化/重排 方式的对比--综合代码示例
34 0
|
9月前
|
前端开发 JavaScript API
promise看这一篇就够了
promise看这一篇就够了
98 2
对于async和await的使用方式、作用效果不怎么理解 ?没关系,初步看这篇就够了
对于async和await的使用方式、作用效果不怎么理解 ?没关系,初步看这篇就够了
|
12月前
|
前端开发
手写Promise最简20行版本,实现异步链式调用。(重构版)
在面试的时候,经常会有面试官让你实现一个 Promise,如果参照 A+规范来实现的话,可能面到天黑都结束不了。
|
前端开发
前端学习案例16-promise的理解方式&调用机制3
前端学习案例16-promise的理解方式&调用机制3
53 0
前端学习案例16-promise的理解方式&调用机制3
|
前端开发
前端学习案例17-promise的理解方式&调用机制4
前端学习案例17-promise的理解方式&调用机制4
46 0
前端学习案例17-promise的理解方式&调用机制4