介绍npm包circuit-breaker-9

阅读时长 6 分钟读完

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

纠错
反馈