carbrokers

Results 6 comments of carbrokers

```javascript Promise.prototype.retry = function(fn) { var resolve; var reject; var p = new Promise(function(res, rej) { resolve = res; reject = rej; }); var retryReject = function(err) { fn(resolve, reject)...

打印结果是一秒后直接打印 1 4 9 原因:forEach方式是不能阻塞的,在一瞬间执行完之后会同时产生3个SetTimeout任务,然后再一秒后同时打印 解决思路:将结果保存在Promise中,用then的方式依次调用 ```javascript function test() { let p = Promise.resolve(); list.forEach((index) => { p = p.then(res => { return square(index).then(res => { console.log(res) }) }) });...

```javascript function normalize(str) { var array = str.match(/[a-z]+/g); var obj = {}; array.reduce((acc, cur, index) => { const isInLast = index == array.length - 1; acc.value = cur; if (!isInLast)...

```javascript /** * @param {string} s * @return {number} */ function lengthOfLongestSubstring (str) { if (str.length === 0 || str.length === 1) { return str.length; } let start = 0;...

```javascript function mySetInterVal(fn, a, b) { let interval = null let count = 0; function delayFn() { interval = setTimeout(function() { fn(); count++; delayFn(); }, a + count * b);...

```javascript function fabonacci(max) { if (max === 1 || max === 2) { return 1; } return fabonacci(max - 1) + fabonacci(max - 2); } ```