BFE.dev前端刷题64 - Promise reject的时候自动retry

时间:2022-07-24
本文章向大家介绍BFE.dev前端刷题64 - Promise reject的时候自动retry,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

bfe.dev 是一个针对前端的刷题网站,像是前端的LeetCode。该系列文章是我在上面的刷题日记。

题目 64

BFE.dev#64 Promise reject的时候自动retry

分析

首先看一下interface

  1. 我们需要返回一个Promise,其中调用fetcher
  2. fetcher中的Promise fulfill的时候就直接resolve
  3. 如果遇到了reject就重复1

开始代码

首先, fulfill的case很简单

其中调用fetcher的逻辑可能会被调用很多次,所以把它wrap在一个function以便未来之需。

最后,上面的代码会如果遇到rejection会永不停息地调用fetcher,我们需要加入阻断逻辑,通过计数来实现。可以在callFetcher之外用一个retryCount变量来实现。

结束。

通过,撒花!

希望能有所帮助,有兴趣可以上bfe.dev自己试试,下次再见。