back中文文档|back js中文教程|解析
安装命令:npm i back
back
一个简单的模块,用于创建指数加权的退避尝试。最初提取自Primus。
注意
如果您是 1.0.0 之前的back
用户,API 已更改为以下内容。如果您不喜欢这种略有不同的抽象,而更喜欢前者稍微简单的 API,那么它仍然可以通过require('back/reconnect')
.
由于@Raynos的贡献,API 更改
使事情变得更简单,因为您不必自己管理选项对象的复制来处理重复的退避情况。
例子
var http = ;var back = ;//// Options to use for backoff//// Remark: This object is modified so it should be cloned if you are dealing// with independent backoff attempts and want to use these values as a base.//var options = retries: 3 minDelay: 1000 // Defaults to 500ms maxDelay: 10000 // Defaults to infinity // The following option is shown with its default value but you will most // likely never define it as it creates the exponential curve. factor: 2; // Where we will store the backoff instance during a particular backoff attemptvar attempt; { var back = attempt || attempt = options; return back;} { http;} ;
应用程序接口
var back = new Back(backoffOpts);
该Back
构造函数需要你的补偿方案,并将其保存为
settings
在内部状态的back
对象。
back.backoff(callback)
该back
实例有一个backoff
方法,该方法在 a callback
之后执行setTimeout
。超时当然是基于指数退避的!它会根据您传递给 back 实例的退避选项重复所有这些回调,直到它用尽它的努力。当它用尽它的尝试时,它将返回一个错误作为回调的第一个参数。
back.close()
如果您想在callback
执行之前处理实例,请清除退避计时器。
项目仓库地址: https://github.com/jcrugzz/back
项目issue地址: https://github.com/jcrugzz/back/issues
项目issue数量: 0
项目贡献人员列表: