介绍npm包circuit-breaker-9

npm包circuit-breaker-9是用于前端的一种网络断路器插件。它是一个对于前端Web应用程序网络中经常出现的异常情况的重要解决方案。例如:网络状况不佳,HTTP请求响应时间超时以及HTTP请求失败等。

这个npm包通过量化一个外部依赖的健康程度来实现所谓的断路器模式。更有趣的是,该npm包支持通过一行代码实现断路器的开启和关闭。因此,该npm包被广泛应用于前端Web应用程序网络中的高质量逻辑应用程序。

安装npm包circuit-breaker-9

您可以使用npm进行circuit-breaker-9包的安装。

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

使用npm包circuit-breaker-9

为了使用circuit-breaker-9,您需要引入包并创建一个新断路器。

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

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

一旦你创建了circuit-breaker实例,你可以开始使用它。下面展示了两个示例。

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

API文档

circuit-breaker-9提供了一系列的API,以满足您的定制化需求。

CircuitBreaker

该类提供了在断路器实例中触发的相关参数。图示如下:

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

url

Type: String

URL是断路器实例与外部库所提供服务的URL。步骤必须包括Protocol(例如https://)。

threshold

Type: Number
Default: 10

阈值是断路器实例打开的请求阀值。

timeout

Type: Number
Default: 1000

超时是断路器实例等待请求的最长时间。

frequency

Type: Number
Default: 10000 (10 seconds)

频率是断路器实例尝试重试失败请求的频率。

type

Type: String
Default: 'FETCH'

type是请求类型。可以是FETCH、XHR或JSONP。

headers

Type: Object

headers是传递给请求的HTTP Header。

fetchOptions

Type: Object

fetchOptions是提供给fetch方法的请求选项。

circuitBreakerOpenCallback

Type: Function

circuitBreakerOpenCallback是当断路器实例打开时要调用的回调函数。

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

circuitBreakerCloseCallback

Type: Function

circuitBreakerCloseCallback是当断路器实例关闭时要调用的回调函数。

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

customErrorHandler

Type: Function

customErrorHandler是从错误处理程序中定制错误消息的回调函数。

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

CircuitBreaker#fetch

fetch是发送一个GET或POST请求的方法。

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

fetch方法使用fetchAPI并在断路器实例中实现断路器模式。

CircuitBreaker#close

close方法关闭断路器,以便请求可以被再次发送。

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

CircuitBreaker#open

open方法打开断路器以防止请求被发送。

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

CircuitBreaker#reset

reset方法重置断路器计数器和时间信息。

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

总结

circuit-breaker-9是一种很方便的断路器插件,它可以帮助我们更好地控制Web应用程序中的故障情况。通过使用circuit-breaker-9,我们可以轻松处理网络状况不佳、HTTP请求响应时间超时以及HTTP请求失败等情况。希望本教程能对您有所帮助。

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


猜你喜欢

  • npm 包 chonk 使用教程

    前言 在前端开发中,我们经常需要使用现有的工具或库来提高开发效率。npm 是一个非常常用的包管理器,全球社区的包数量非常多,其中就包含了 chonk 这个包,它是一个可以在浏览器中展示大量图片的库。

    4 年前
  • npm 包 spiderkhan 使用教程

    在前端开发中使用爬虫可以帮助我们快速爬取数据并进行分析,这不仅可以提高开发工作效率,还可以为业务决策提供有力支持。而 npm 包 spiderkhan 就是一款强大的爬虫工具,本文将介绍如何安装并使用...

    4 年前
  • npm 包 `golangify` 使用教程

    golangify 是一个用于将 JavaScript 代码转换为类似 Go 语言的代码的 npm 包。它提供了一种新颖的方式,帮助开发者变更对 JavaScript 代码的看法,快速提高代码转换的效...

    4 年前
  • npm 包 estructuras 使用教程

    在前端领域中,经常需要使用到各种数据结构和算法。而结构体(或称之为复合类型)是其中的一种非常重要的数据结构。结构体可以将多个基本类型的数据组织在一起,方便在程序中使用。

    4 年前
  • npm 包 @mardxmag/ons-core-datatable 使用教程

    在前端开发中,数据表格是经常用到的一个组件,而 @mardxmag/ons-core-datatable 是一个方便、易用的数据表格 npm 包。这篇文章将详细介绍如何使用这个包,并给出一些示例代码,...

    4 年前
  • npm包:hexo-tag-google-photos-album-gallery使用教程

    前言 Web开发中,图片展示是一个必不可少的元素。hexo是一个开源的博客框架,可以轻松创建和管理自己的博客网站。在hexo的使用过程中,我们常常需要向文章中插入图片,而Google相册是一个优秀的云...

    4 年前
  • npm 包 pug-builder 使用教程

    什么是 pug-builder? pug-builder 是一个可以帮助前端开发者将 pug 模板文件转换为 HTML 文件的工具。该工具基于 node.js 平台,其主要优点为可以快速简便地将模板文...

    4 年前
  • npm 包 vue-oriql 使用教程

    前言 在 Web 应用开发中,前后端通信以及数据处理是必不可少的一部分,而 GraphQL 技术的出现,使我们的工作变得更加便捷。GitHut 上有不少的 GraphQL 相关项目,其中就有一款名为 ...

    4 年前
  • npm 包 @mcritch/ng-packagr 使用教程

    在前端开发过程中,我们经常需要打包我们自己编写的 Angular 库项目,以供其他人使用。为了更加高效、便捷地打包一个项目,我们可以使用 npm 包 @mcritch/ng-packagr。

    4 年前
  • npm 包 steelnodes 使用教程

    steelnodes 是一个基于 Node.js 的前端开发工具,它可以方便地将多个 CSS 和 JS 文件合并、压缩,并生成版本号,同时还可以处理图片、字体等资源文件,提高前端项目的构建效率。

    4 年前
  • npm 包 prom2json-se 使用教程

    在前端开发中,我们经常需要处理异步请求和数据格式转换,这时候我们就需要使用到一些工具来帮助我们快速地处理数据。prom2json-se 就是其中的一款工具,它可以将 prometheus metric...

    4 年前
  • npm 包 @nodeem/react-drag-and-drop 使用教程

    前端开发中,拖拽功能是很常见的需求,而 @nodeem/react-drag-and-drop 是一个强大的 npm 包,可以帮助我们在 React 应用中轻松实现拖拽功能。

    4 年前
  • npm 包 unix-timestamp-offset 使用教程

    在前端开发中,有时经常需要对时间戳进行转换和计算操作,这时候一个可靠的 unix 时间戳转换工具就尤为必要。npm 包 unix-timestamp-offset 就是一个方便实用的工具,本文接下来将...

    4 年前
  • npm 包 expires-unixtime 使用教程

    在前端开发中,经常会碰到需要计算某个时间的过期时间点。而 Unix 时间戳是一个经常使用的时间格式,因此我们可以使用 expires-unixtime 这个 npm 包来方便地计算 Unix 时间戳的...

    4 年前
  • npm 包 @fxjs/handbag 使用教程

    什么是 @fxjs/handbag @fxjs/handbag 是一款 JavaScript 工具库,主要解决 DOM 操作的问题。它提供了一系列的方法,可以轻松地操作 DOM 元素和属性,使得前端开...

    4 年前
  • npm 包 @jporto/vue-flex-layout 使用教程

    在前端开发中,我们常常需要使用布局来使我们的页面看起来更加美观和易读。而针对这个问题,我们可以使用 Flexbox 这个强大的布局方式来解决。而在 Vue 框架中,我们可以通过 npm 包 @jpor...

    4 年前
  • npm 包 bimserverapi 使用教程

    在前端开发过程中,我们常常需要使用一些第三方的库或者工具来帮助我们完成一些特定的任务。在这些第三方库或者工具中,npm 是非常重要的一个。npm 是 Node.js 的包管理工具,可以方便地下载、使用...

    4 年前
  • npm 包 lewys 使用教程

    近年来,前端开发领域变得越来越庞杂和复杂。而 npm 作为前端包管理器,能够帮助开发者更好地管理和维护项目。其中,使用 npm 包可以将自己的代码或是别人的优秀代码快速集成到自己的项目中。

    4 年前
  • npm 包 decimality 使用教程

    1. 简介 decimality 是一个用于解决 JavaScript 处理小数点精度问题的 npm 包。它可以让你在 JavaScript 中轻松地处理小数计算和比较。

    4 年前
  • npm 包 rollodeqc-gh-users 使用教程

    在前端开发中,我们经常需要将 Github 用户信息集成到我们的应用程序中。为了解决这个问题,开发人员可以使用 rollodeqc-gh-users 这个 npm 包来帮助我们获取 Github 用户...

    4 年前

相关推荐

    暂无文章