ZangYuSong
ZangYuSong
为啥感觉你们写的怎么这么复杂 。。。 ```js Promise.retry = function (promiseFunc, num = 2) { return promiseFunc().then(null, (e) => { if (num > 0) { num -= 1; console.log("重试"); return Promise.retry(promiseFunc, num); } return...
说白了,就是实现一个限制并发的 Promise.all
目前设定的是,当执行过程中某个 promise 返回 reject 则停止后续的 promise 执行。 后续可以加上,abort 请求。可以是一个回调,失败时候把 executing 传递过去。回调去执行一些操作。 ```js // Promise.all([promsie1(), promsie2(), promsie3()]); // PromiseLimit([promsie1, promsie2, promsie3]); function PromiseLimit(funcArray, limit = 5) { let i = 0;...
```js // 测试代码 const result = []; for (let index = 0; index < 10; index++) { result.push(function() { return new Promise((resolve, reject) => { console.log("开始" + index, new Date().toLocaleString());...
```js // 修改测试代码 随机失败或者成功 const result = []; for (let index = 0; index < 10; index++) { result.push(function() { return new Promise((resolve, reject) => { console.log("开始" + index, new...
有几点需要注意的: 1、第一个参数,开始下标 2、第二个参数,删除个数 3、从第三个开始往后都是插入的数据 **4、操作的都是原数组,也就是改变的是原数组** **5、返回一个被删除的数据的新数组** 下边这个是我老早之前写的,参考了 chrome 的实现方式 ```js Array.prototype._splice = function () { if (arguments.length === 0) return []; var arg_len = arguments.length, array_len = this.length, index =...
突然发现他在,分析组件内部。
试了下,Graphin 内置的功能太少了。不如G6 的功能。没有 trigger bindKey shouldBegin shouldEnd 这些功能。能否丰富一下。或者说本身支持只是没有相关的用法示例,麻烦提供一下
其实本质上还是异步的,只是把每次异步后续的执行放到了对应的promise.then 中执行。 类似于下方的执行方式: ```js async function test1() { const a = await new Promise(resolve => { setTimeout(() => { resolve(1); }, 1000); }); const b = 2; const c =...