前端面试:关于promise的10个高频面试题(上) #前端面试

面试官必问!关于promise。

哈喽大家好,我是前端理想哥。如果你正在准备前端开发相关的面试,那么今天的这个话题一定会对你很有帮助。今天我们来聊一聊面试官必问关于promise的10个高频面试题(上),让我们一起来看一下。

·第一个promise的三种状态是什么?这个主要是来考察你是不是理解promise的三种状态以及它们在异步操作中的一些作用。我们可以从这个方向去回答。promise有3种状态工作?

→第一个Pending,这个就是初始状态,表示promise在待定中。

→第二个Fulfilld已成功,表示操作成功完成返回了结果。注意这里很多人都说错成了Resolve了,这个大家要注意。

→第三个Rejected,表示操作失败返回了操作信息。

·第二个如何实现一个简单的promise?这个主要是考察你是不是理解如何去通过代码实现一个自定义的promise,你是不是能成功处理异步操作的结果,包括正确的去使用resolve和rejected。所以关于这个点大家一定要能做到,可以去手写实现promise,这个是一个非常高频的面试题。

·第三个promise.all和promise.race的区别。这个两个API都是promise中非常重要的API。关于这个点面试官主要是想考察你对于Promise.race和Promise.all这两个方法使用上的差异,什么时候用race执行3个异,所以回答可以从这个方向。

promise.all是当所有的promise都成功返回时,然后如果则返回的是第一个失败的promise,promise赛跑的意思返回了第一个完成的promise,无论是成功还是失败,然后它会很快的终止。

·第三个什么是Promise.all?它是如何作用的以及它的原理?这个也是个非常高频的面试题,它主要是想考察你是不是理解Promise.all的原理,最好可以去手写实现Promise.all,所以回答可以从这个方向。

Promise.all是用来并行执行多个异步操作的,然后返回一个新的promise。当所有传入的promise都成功了,Promise.all返回的promise也会成功,然后返回所有的promise的结果。如果其中一个失败了,那么Promise.all返回的promise会立即失败,然后并返回失败的原因。

·第五个实现一个基于promise的并行限制的限制器。例如限制最多同时执行3个异步请求如何实现?这个主要是面试官在考察你如何去通过promise控制并发,避免请求过多导致性能下降或者网络拥堵。

·第二个考察你是不是能够自定义去实现一些并发限制的工具。这个也是一个非常高频面试题,而且在日常需求开发中也是个非常高频的场景。所以大家在回答这个问题的时候可以使用promise结合队列控制并发数,这个方向去做托保,确保同时运行的异步请求数不会超过一个限定的数量。

以上这几个问题可以帮助大家更好地应对Promise相关面试题。如果你能够深入了解每个技术细节,然后在回答的过程中能够流利的去回答这些问题,相信一定能给面试官留下一个深刻的印象。

我们下节视频继续讲面试官必问关于promise的10个高频面试题(下)。下节的题相比本节它的难度会增加,欢迎大家到时来观看。感谢大家关注理想哥,学习更多前端面试技巧。

原文链接:,转发请注明来源!