wenchaoding
wenchaoding
# 实现 对于常见的应用场景,至少应该满足重试次数和每次重试的间隔可配置,失败后立即重试意义并不大。 ```js /** * Promise.retry,成功后 resolve 结果,失败后重试,尝试超过一定次数才真正的 rejec * @param {(resolve, reject) => any} fn 执行函数 * @param {number} max 最大尝试次数 * @param {number} interval 尝试间隔 * @param...
# 实现 ```js /** * * @param {Array any>} funcArray * @param {number} limit 最大请求次数 */ export function promiseLimit(funcArray, limit = 5) { return new Promise((resolve) => { let i...
# 实现 ~~~js /** * * @param {string} p */ function buildNext(p) { const m = p.length const N = [] let t = N[0] = -1 let j =...
~~~js /** * 递归版本 * @param {string} str */ export function normalizeRecur(str) { const matchRe = /^\[.*\]$/ const valueRe = /^\[([^\[\]]*)/ let root = {} if (matchRe.test(str)) { root.value =...
### 用分治代码比较简洁, 没考虑性能啥的 ~~~js function intersection(...args) { if (args.length === 1) return args[0] if (args.length == 2) return [...new Set(args[0].filter(item => args[1].indexOf(item) !== -1))] const mid = Math.floor(args.length / 2)...
Is there any progress? I met the same problem.