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 包 @mischnic/async-hooks 使用教程

    介绍 @mischnic/async-hooks 是一个基于 Node.js Async Hooks API 实现的轻量级异步钩子库。它可以用于收集异步调用链、异步资源的生命周期管理等场景,对于性能优...

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

    在使用React Native开发移动应用程序时,常常会使用HTTP请求来获取数据。然而,由于React Native的安全性设置,开发者无法使用HTTP请求,必须将其升级为HTTPS请求。

    3 年前
  • npm 包 sql92-operators 使用教程

    SQL92 操作符是关系型数据库中广泛使用的操作符之一,通过操作这些操作符可以对表数据进行过滤、排序、分组等常见操作。本文将介绍一个 npm 包 sql92-operators,该包封装了常见的 SQ...

    3 年前
  • npm 包 airglass-musicplayer 使用教程

    前言 在前端开发中,音乐播放器是很常见的一个功能。而使用第三方库会极大地减轻我们的开发难度。其中,airglass-musicplayer 就是一个非常好用的 npm 包,它提供了多种音乐播放方式、播...

    3 年前
  • npm 包 jest-matcher-called-on 使用教程

    在进行 JavaScript 的单元测试中,Jest 是一个非常好用的测试框架。然而,有时候我们在写测试的时候会遇到一个问题:我们需要确保一个函数的调用是在特定对象上进行的,而 Jest 并没有提供一...

    3 年前
  • npm 包 jsmp-infra-yarostbaklajana 使用教程

    jsmp-infra-yarostbaklajana 是一个在前端开发中十分实用的 npm 包。本文将为大家详细介绍如何使用该包,以及该包的深度和学习意义。 什么是 jsmp-infra-yarost...

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

    介绍 在前端开发过程中,我们经常需要使用 loading 动画来提示用户正在进行某些操作。但是,有些情况下,我们希望延迟一段时间再展示 loading,比如等待一下网络请求的响应。

    3 年前
  • npm包ripple-lib-orderbook使用教程

    前言 在前端开发中,越来越多的应用程序需要使用加密货币功能。ripple-lib-orderbook是一个能够提供加密货币功能的npm包。 本篇文章将详细介绍npm包ripple-lib-orderb...

    3 年前
  • npm 包 swgg-github-pulls 使用教程

    如果你是一名前端开发者,那么你一定会知道 npm 是什么,而 swgg-github-pulls 就是一个非常棒的 npm 包,用于获取 GitHub 项目的 pull requests。

    3 年前
  • npm 包 wp-map-picker 使用教程

    npm 包 wp-map-picker 是一个基于 React 的地图选择器组件,能够轻松地将地图集成到你的应用程序中。本文将详细介绍如何使用该组件以及它的相关特性。

    3 年前
  • npm 包 @baransu/carbon-cli 使用教程

    Carbon 是一个网络应用程序性能监测工具,可帮助前端开发人员实时监控网站性能指标。而 @baransu/carbon-cli 是 Carbon 的一个 NPM 包,提供了命令行工具来轻松收集,可视...

    3 年前
  • npm 包 @onixjs/enumerable 使用教程

    介绍 在 JavaScript 开发中,我们经常需要对数据进行一些处理和操作,例如过滤、排序、映射等。而 @onixjs/enumerable 就是一个强大的工具包,提供了丰富的迭代方法和链式调用的方...

    3 年前
  • npm 包 airglass-canvasanimationgif 使用教程

    在前端开发中,我们常常需要使用动画来提升用户体验。而利用 CSS 实现一些动态效果时,很容易影响页面的性能,所以利用 canvas 来绘制动画成为一个不错的选择。本文将介绍使用 npm 包 airgl...

    3 年前
  • npm 包 mozaik-ext-embedflowscape 使用教程

    在前端开发中,我们常常会使用各种 npm 包来管理和使用第三方库和框架。而 mozaik-ext-embedflowscape 是一个值得推荐的 npm 包,它能够帮助我们在 web 应用中嵌入 3D...

    3 年前
  • npm 包 virgil-hp-wrapper 使用教程

    在前端开发中,加密和解密已成为很重要的一部分。而经典加密算法也是在数据传输时的必要措施。Virgil Security 是一家公司,他们提供了一个 virgil-crypto js 包,用于前端加密和...

    3 年前
  • npm 包 webstreamer 使用教程

    webstreamer 是一个基于 WebRTC 技术的开源项目,可实现高品质视频流传输和处理。它可以在前端中使用,提供强大的音视频编码、解码、剪辑和传输能力。 本文旨在介绍如何在前端应用中使用 we...

    3 年前
  • NPM 包 homebridge-xiaomi-aqara 使用教程

    介绍 homebridge-xiaomi-aqara 是一个 Node.js 模块,它是 Homebridge 平台上的 Xiaomi Aqara 插件,它的目标是让 Xiaomi Aqara 设备可...

    3 年前
  • npm 包 v-webp 使用教程

    在前端开发中,图片通常是必不可少的一部分。WebP 图片是由谷歌开发的一种高效的图片格式,它可以大幅减小图片的大小,提高页面加载速度,从而提升用户的体验。而 v-webp 就是一个基于 WebAsse...

    3 年前
  • npm 包 angular4-table 使用教程

    前言 在前端开发中,我们很常见到需要展示数据的场景。而表格是展示数据的常用方式之一。在 Angular 4 的开发中,有一款非常实用的 npm 包——angular4-table,它可以让我们更方便地...

    3 年前
  • npm 包 swgg-github-scim 使用教程

    在前端开发中,我们常常需要调用一些第三方库或 API,这时候就要用到 npm 包了。swgg-github-scim 是一个很有用的 npm 包,它可以方便地从 Github API 获取用户的信息。

    3 年前

相关推荐

    暂无文章