npm 包 insistence 使用教程

简介

insistence 是一个前端开发时常用的 npm 包,用于重试请求。在实际开发中,网络请求不可避免地会出现失败的情况,而这时候可以用 insistence 来帮助我们重新发起请求,直到请求成功为止。

安装

在终端中输入以下命令进行安装:

--- ------- ----------

使用

使用 insistence 前需要先引入它:

----- ---------- - ----------------------

基础使用

----- ------ - ----- --- ------------
  ------ -- -- ------
  ------ ----- -- ----
  ------------ ------------- - -- -----
    -------------- -------------- - -- ----- -----
  -
------------- -- -
  ------ -----------------------------
---

在上述例子中,我们创建了一个 Insistence 实例,并通过 attempt 方法发起了一个请求。如果请求失败,Insistence 会在指定的延迟时间过后重试请求,直到请求成功或者达到最大重试次数。

retrydelay 可以根据需求对其进行调整。

自定义判断请求是否成功的方法

默认情况下,Insistence 会判断请求是否成功的方法是判断请求是否返回 status code 为 2xx,但在实际开发中,我们可能需要根据其他条件来判断请求是否成功。这时候,我们可以通过传递 isSuccess 方法来自定义规则:

----- ------ - ----- --- ------------
  ------ --
  ------ -----
  -------------- -
    ------ --------------- --- ----------
  --
  ------------ ------------- -
    -------------- -------------- - -- ----- -----
  -
------------- -- -
  ------ ---------------------------------
---

自定义重试延迟时间

Insistence 默认的延迟时间是 1000 毫秒,但在实际开发中,我们可能需要根据实际情况来调整延迟时间。这时候,我们可以通过传递 calculateDelay 方法来自定义计算延迟时间的规则:

----- ------ - ----- --- ------------
  ------ --
  ---------------------------- -
    ------ - -- ------------ - ----
  --
  -------------- -
    ----------------------
  --
  ------------ ------------- -
    -------------- -------------- - -- ----- -----
  -
------------- -- -
  ------ ---------------------------------
---

总结

Insistence 是一个非常实用的 npm 包,可以帮助我们在网络请求失败时自动重试请求,并且提供了丰富的自定义选项,非常适用于实际开发中的网络请求场景。

示例代码

----- ---------- - ----------------------

----- ------ - ----- --- ------------
  ------ -- -- ------
  ------ ----- -- ----
  ------------ ------------- - -- -----
    -------------- -------------- - -- ----- -----
  -
------------- -- -
  ------ -----------------------------
---

--------------------

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60057c9681e8991b448ebf4f


猜你喜欢

  • npm 包 name-my-unicorn 使用教程

    前言 前端开发中经常要使用到各种 npm 包,而 name-my-unicorn 这个 npm 包可以让你为你的项目生成一个独一无二的、个性化的、有趣的项目名称。在技术项目中加入一些趣味性的元素是十分...

    3 年前
  • npm 包 @myfave/aws4-react-native 使用教程

    介绍 AWS4 是 Amazon Web Services (AWS) 提供的一种签名算法,用于对 AWS API 进行身份验证。而 @myfave/aws4-react-native 就是一个在 R...

    3 年前
  • npm 包 c0bancore-wallet-client 使用教程

    前言 c0bancore-wallet-client 是一个 Node.js 的 npm 包,提供方便的交互方式,可以通过其进行账户创建、转账等操作。该包基于 c0bancoin-core 库实现,需...

    3 年前
  • npm 包 easydav-jqput-pmb 使用教程

    前言 在前端开发中,与后端交互是必不可少的,而 WebDAV 协议是一种常见的开发 API 的方式,在 Node.js 环境下可以使用 easydav-jqput-pmb 这个 npm 包来访问 We...

    3 年前
  • npm 包 redux-optimistic-manager 使用教程

    介绍 redux-optimistic-manager 是一个针对 Redux 应用的 npm 包,它的主要作用是管理 Redux 中的 optimistic action。

    3 年前
  • npm 包 feed-management-core 使用教程

    在前端开发中,我们常常需要处理一些数据流动和管理的问题,而 npm 包 feed-management-core 就是一个很好的解决方案。本篇文章将详细介绍如何使用这个 npm 包,并提供示例代码,帮...

    3 年前
  • npm 包 @living-room/parser-js 使用教程

    在前端开发中,经常需要将一些数据进行解析和处理。@living-room/parser-js 是一个能够帮助前端工程师实现数据解析的 npm 包,与其他的数据解析工具相比,@living-room/p...

    3 年前
  • npm 包 dynamic-mock-api 使用教程

    在前端开发中,经常需要进行数据模拟以及接口调试。而在这个过程中,动态 mock 接口的使用是必不可少的。dynamic-mock-api 就是一款利用 Node.js 进行动态接口 Mock 的 np...

    3 年前
  • npm 包 nettpro-http2 使用教程

    前言 目前,HTTP/2 协议已经成为越来越多的网站和应用程序的首选协议,以提高性能和降低延迟。而 nettpro-http2 是一个可轻松实现 HTTP/2 客户端和服务端通信的 npm 包。

    3 年前
  • npm 包 easy-fsm 使用教程

    在前端开发中,状态机是一种非常常用的概念。它可以帮助我们更好地组织代码,更好地处理业务逻辑。easy-fsm 就是一个使用简单的 npm 包,可以帮助我们更快速地实现状态机。

    3 年前
  • npm 包 system-ping 使用教程

    在前端开发中,常常需要测试服务器的连通性以及网络状态。为了方便实现这一功能,开发者可以使用 npm 包 system-ping。本教程将介绍如何使用该 npm 包。

    3 年前
  • npm 包 kvvs 使用教程

    随着现代 Web 应用开发的迅速发展,前端工具和框架也越来越多。npm 作为一个最大的开源代码包管理平台,为前端工程师提供了大量的丰富的第三方库和工具。其中一个非常实用的 npm 包就是 kvvs。

    3 年前
  • npm 包 react-tablify 使用教程

    介绍 react-tablify 是一个可以帮助你将数据转换为表格的 npm 包,它基于 React 构建。使用它,你可以轻松地将数据整理成表格,并自定义表格的样式和行为。

    3 年前
  • npm 包 softbreak 使用教程

    在前端开发中,关于排版的问题时常会引起我们的关注。其中特别重要的一点就是软换行的处理,它在一些场景下比如论坛、社交网络评论等地方起到了至关重要的作用。但是 HTML 中的换行标签 <br>...

    3 年前
  • npm 包 tealcoin-explorer-api 使用教程

    在区块链世界中,区块链浏览器是一种非常重要的工具,它可以帮助我们查询交易记录,查看未确认的交易,浏览账户余额等功能。而在使用区块链浏览器时,通过 API 对其进行访问可以获取更多的数据,并进行自定义操...

    3 年前
  • npm 包 @yutahaga/eslint-config-flow 使用教程

    前言 在开发前端项目的时候,代码风格的统一非常重要。一个好的代码风格可以提高代码的可读性、可维护性和稳定性。而 Eslint 作为当前前端必备的代码检查工具之一,在实践中发挥着重要的作用。

    3 年前
  • npm 包 FortiGuard 使用教程

    FortiGuard 是一个专业的网络安全企业级产品,它提供了全面的安全防护解决方案。而在前端开发中,我们也可以通过 FortiGuard 的 npm 包来完成一些安全方面的工作。

    3 年前
  • npm 包 node-red-contrib-play-sound 使用教程

    简介 node-red-contrib-play-sound 是一个基于 Node.js 平台的 npm 包,用于在 Node-RED 上实现音频播放功能,特别适用于前端工程师在开发过程中对音频文件进...

    3 年前
  • NPM 包 @hypefactors/js-get 使用教程

    基本介绍 @hypefactors/js-get 是一个 JavaScript 工具库,主要用于从 JavaScript 对象中获取属性值。它可以覆盖多层对象结构并处理不存在的属性。

    3 年前
  • npm 包 effect-dropdown-react 使用教程

    简介 effect-dropdown-react 是一个基于 React 框架的下拉框组件,可以用于前端开发中的表单、菜单等场景中。它支持搜索、多选、自定义样式等功能,具有灵活性和可扩展性。

    3 年前

相关推荐

    暂无文章