专栏首页BFE.dev前端刷题日记BFE.dev前端刷题64 - Promise reject的时候自动retry
原创

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自己试试,下次再见。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • BFE.dev前端刷题#58. 获取DOM tree高度

    一个tree的高度 = 子tree的最大高度 + 1。由此我们可以很容易地得到递归解法。

    JSer
  • BFE.dev前端刷题 33. 实现Promise.allSettled()

    和Promise.all()不同,Promise.allSettled()即使是遇到rejection也会等待所有的promise到最后。所以我们只需要用一个a...

    JSer
  • BFE.dev前端刷题#13. 利用栈(Stack)创建队列(Queue)

    要从Stack中dequeue一个元素的的话,因为Stack只能pop,所以需要pop掉除了最后一个元素的所有元素。那我们在不断pop的时候,pop掉的元素放哪...

    JSer
  • 如何使用 Jenkins 的脚本化流水线(Pipeline)

    在这篇简单的教程中,你将会学习到 Jenkins 的流水线即代码,以及如何开发流水线脚本的指导。 Jenkins 是一个开源持续集成服务器,它可以提供持续执行自...

    DevOps时代
  • AI一分钟 | 北京高考首次启用人脸识别,英语听力机考玩出新高度;厉害了搜狗!超越Google,“唇语识别”准确率竞达60%以上

    一分钟AI 英伟达自动驾驶汽车AI超算Xavier新消息 已经开始线上生产 腾讯领投人工智能项目ObEN宣布将与Qtum量子链共建区块链实验室 CB Insig...

    AI科技大本营
  • SAP BSP(Business Server Page)的源代码搜索工具

    The source code scan report RS_ABAP_SOURCE_SCAN ( or transaction code CODE_SCANN...

    Jerry Wang
  • 做简历的建议

    牛客网
  • Linux Bash Shell入门教程

    BASH 的基本语法 最简单的例子 —— Hello World! 关于输入、输出和错误输出 BASH 中对变量的规定(与 C 语言的异同) ...

    joshua317
  • 回归树/模型树及python代码实现

    所谓回归就是数据进行曲线拟合,回归一般用来做预测,涵盖线性回归(经典最小二乘法)、局部加权线性回归、岭回归和逐步线性回归。先来看下线性回归,即经典最小二乘法,说...

    机器学习AI算法工程
  • Python之路【第五篇】:Python

    我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周知,应用程序是无法直接操作硬件的,这...

    py3study

扫码关注云+社区

领取腾讯云代金券