bfe.dev 是一个针对前端的刷题网站,像是前端的LeetCode。该系列文章是我在上面的刷题日记。
题目 64
BFE.dev#64 Promise reject的时候自动retry
分析
首先看一下interface
- 我们需要返回一个Promise,其中调用fetcher
- fetcher中的Promise fulfill的时候就直接resolve
- 如果遇到了reject就重复1
开始代码
首先, fulfill的case很简单
其中调用fetcher的逻辑可能会被调用很多次,所以把它wrap在一个function以便未来之需。
最后,上面的代码会如果遇到rejection会永不停息地调用fetcher,我们需要加入阻断逻辑,通过计数来实现。可以在callFetcher
之外用一个retryCount
变量来实现。
结束。
通过,撒花!
希望能有所帮助,有兴趣可以上bfe.dev自己试试,下次再见。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。