{"_id":"e-async-control","_rev":"5-a555c3b5f8e9734adef95a4228643883","name":"e-async-control","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.0":{"name":"e-async-control","version":"1.0.0","description":"异步并发控制","main":"/dist/index.umd.cjs","module":"/dist/index.js","types":"dist/index.d.ts","type":"module","repository":{"type":"git","url":"https://gitee.com/liu-zhengfeng-yyy/request-control.git"},"author":{"name":"Evan liu","email":"lzf170529@163.com"},"license":"MIT","scripts":{"build":"vite build","example":"ts-node example/index.ts"},"devDependencies":{"@types/node":"^20.6.0","ts-node":"^10.9.1","typescript":"^5.2.2","vite":"^4.4.9","vite-plugin-dts":"^3.5.3"},"_id":"e-async-control@1.0.0","gitHead":"b542853a592683a0137f843aab6cb2d72cc5e5d2","_nodeVersion":"18.14.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-ffr4AfNvPvMoI0U8ZtRAFOIg2fPIaGw4lSlzFIt62tpLQjliU7+7mYNIPzb7lZ3OR+kH/avy0t+8TMXeUCJu2w==","shasum":"9f2b35b250ebc3075cb30c7a113c306318ad300d","tarball":"https://registry.npmjs.org/e-async-control/-/e-async-control-1.0.0.tgz","fileCount":8,"unpackedSize":5318,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC853doyliOuX7EcJB1D+u//1Oe9NYhfaLI8o5bl7SntAiEAqROn579fizrJewHKb/5h6IDbBdgaxFAUX6YgWVlkK68="}]},"_npmUser":{"name":"evan-l","email":"lzf170529@163.com"},"directories":{},"maintainers":[{"name":"evan-l","email":"lzf170529@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/e-async-control_1.0.0_1697960247740_0.07346963702466125"},"_hasShrinkwrap":false},"1.0.1":{"name":"e-async-control","version":"1.0.1","description":"异步并发控制","main":"/dist/index.umd.cjs","module":"/dist/index.js","types":"dist/index.d.ts","type":"module","repository":{"type":"git","url":"https://gitee.com/liu-zhengfeng-yyy/request-control.git"},"author":{"name":"Evan liu","email":"lzf170529@163.com"},"license":"MIT","scripts":{"build":"vite build","example":"ts-node example/index.ts"},"devDependencies":{"@types/node":"^20.6.0","ts-node":"^10.9.1","typescript":"^5.2.2","vite":"^4.4.9","vite-plugin-dts":"^3.5.3"},"_id":"e-async-control@1.0.1","gitHead":"8c07bfe05bcd9dfd4dd434b7ec67e4ca24f7da80","_nodeVersion":"18.14.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-NeOND5UddQGGQCreXwXd2Ouf8eAgKpvovzc+Z2/MfizTOvya+OX0DZhTAWnoKuWO8+Nm8RPsrB2lY7XySmuHJg==","shasum":"61e0300024f3547f3afbff0ee211d76dd8b34ab9","tarball":"https://registry.npmjs.org/e-async-control/-/e-async-control-1.0.1.tgz","fileCount":8,"unpackedSize":5320,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD206f+r7x1tipXm1KSIp88J381DfIOfcxjOCqE/cw++gIhALtHVJGyi1N/ogEspe60JbLESmKaw4FiExiExCGYoST1"}]},"_npmUser":{"name":"evan-l","email":"lzf170529@163.com"},"directories":{},"maintainers":[{"name":"evan-l","email":"lzf170529@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/e-async-control_1.0.1_1697960635945_0.4314667782068937"},"_hasShrinkwrap":false},"1.0.2":{"name":"e-async-control","version":"1.0.2","description":"异步并发控制","main":"./dist/index.umd.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","type":"module","repository":{"type":"git","url":"https://gitee.com/liu-zhengfeng-yyy/request-control.git"},"author":{"name":"Evan liu","email":"lzf170529@163.com"},"license":"MIT","scripts":{"build":"vite build","example":"ts-node example/index.ts"},"devDependencies":{"@types/node":"^20.6.0","ts-node":"^10.9.1","typescript":"^5.2.2","vite":"^4.4.9","vite-plugin-dts":"^3.5.3"},"_id":"e-async-control@1.0.2","gitHead":"ce0ead5eb2bba30a26546c4e85d1f3d894a19030","_nodeVersion":"18.14.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-OT2YIgl63X5jK7A5aMwI1aq8LuVukedR+LGpSPDYi47BvCueB/QVoLbiCsmueFU6pfiHEuRSfdu7ikerF28kHw==","shasum":"ab4beb40f0bc5f235ea5cec406534ffd2654096c","tarball":"https://registry.npmjs.org/e-async-control/-/e-async-control-1.0.2.tgz","fileCount":8,"unpackedSize":5324,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD71MSDQEIznCsJ81iCQXz7Y78g6vKBNpzoBAVQsPcBLwIhAPP5qUy7aASK2jEb6OJ/ZEkO2v391Od5Ey1hWrPkH/cy"}]},"_npmUser":{"name":"evan-l","email":"lzf170529@163.com"},"directories":{},"maintainers":[{"name":"evan-l","email":"lzf170529@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/e-async-control_1.0.2_1697962046350_0.010558735701807098"},"_hasShrinkwrap":false},"1.0.3":{"name":"e-async-control","version":"1.0.3","description":"异步并发控制","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","type":"module","repository":{"type":"git","url":"https://gitee.com/liu-zhengfeng-yyy/request-control.git"},"author":{"name":"Evan liu","email":"lzf170529@163.com"},"license":"MIT","scripts":{"build":"vite build","example":"ts-node example/index.ts"},"devDependencies":{"@types/node":"^20.6.0","ts-node":"^10.9.1","typescript":"^5.2.2","vite":"^4.4.9","vite-plugin-dts":"^3.5.3"},"_id":"e-async-control@1.0.3","gitHead":"ce0ead5eb2bba30a26546c4e85d1f3d894a19030","_nodeVersion":"18.14.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-GaC+ikOqmNg1OfwF+Sdi+BmdMU7g/ET4EV6z0g8VG7984ZWBoPXYtx9cfzekVAYQs/95d/Av/uAWM7OisoaNcA==","shasum":"744a6b8c29683a9e0a7912d868e2990bd8f3a046","tarball":"https://registry.npmjs.org/e-async-control/-/e-async-control-1.0.3.tgz","fileCount":8,"unpackedSize":5122,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdovBuKnD0lZ1kiOVXbffPHiGhFsU5/Abv3OvP0Z/3ZAIhAKYNGxh9xgdvmKq5dAPDj4v9asMSz5M+D/yTQ+Onab59"}]},"_npmUser":{"name":"evan-l","email":"lzf170529@163.com"},"directories":{},"maintainers":[{"name":"evan-l","email":"lzf170529@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/e-async-control_1.0.3_1697963649623_0.26575272617275547"},"_hasShrinkwrap":false},"1.0.4":{"name":"e-async-control","version":"1.0.4","description":"异步并发控制","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","type":"module","repository":{"type":"git","url":"https://gitee.com/liu-zhengfeng-yyy/request-control.git"},"author":{"name":"Evan liu","email":"lzf170529@163.com"},"license":"MIT","scripts":{"build":"vite build","example":"ts-node example/index.ts"},"devDependencies":{"@types/node":"^20.6.0","ts-node":"^10.9.1","typescript":"^5.2.2","vite":"^4.4.9","vite-plugin-dts":"^3.5.3"},"_id":"e-async-control@1.0.4","gitHead":"e3ad4dea4db75f739d1e0a91d6c066c969fc78a0","_nodeVersion":"18.14.2","_npmVersion":"9.8.1","dist":{"integrity":"sha512-/8pJJGR5JXljVoORv1WXzxEdPwAoRt7Mms+e9dcEJPJQnaIJps6sS9Y/t5tK+V4bYBbbi+5n1dyIaukEAmSv/A==","shasum":"882544d171a0ad64a8ea56d8a0d2b32f31556866","tarball":"https://registry.npmjs.org/e-async-control/-/e-async-control-1.0.4.tgz","fileCount":8,"unpackedSize":5085,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGHf3mIDKjQ9KPn/99KYmmqZIfL4c+Igfe7ptqKlRGThAiEAgqYB2BYBF0J/K/t6BZNEXDvCdLaATh5IKWrUfkamfiU="}]},"_npmUser":{"name":"evan-l","email":"lzf170529@163.com"},"directories":{},"maintainers":[{"name":"evan-l","email":"lzf170529@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/e-async-control_1.0.4_1697979562215_0.5936105697232017"},"_hasShrinkwrap":false},"1.0.5":{"name":"e-async-control","version":"1.0.5","description":"异步并发控制","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","type":"module","repository":{"type":"git","url":"https://gitee.com/liu-zhengfeng-yyy/request-control.git"},"author":{"name":"Evan liu","email":"lzf170529@163.com"},"license":"MIT","scripts":{"build":"vite build","example":"ts-node example/index.ts"},"devDependencies":{"@types/node":"^20.6.0","ts-node":"^10.9.1","typescript":"^5.2.2","vite":"^4.4.9","vite-plugin-dts":"^3.5.3"},"gitHead":"c95b706be51f707302bb0bef945bd0a8b6a920fc","_id":"e-async-control@1.0.5","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-cZcxOcxNdBQYH08x8zVd5bBqltAi/TMGjkW3sgRabW4WbK1YiB9GtxO6MyfToqMPQd/5bjR5yYNOYa/WLu0elg==","shasum":"d121d469638590ff3fb90fd9170aef0225e9f2b1","tarball":"https://registry.npmjs.org/e-async-control/-/e-async-control-1.0.5.tgz","fileCount":5,"unpackedSize":4358,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB//iN0qGP+WUUktnK6pdllEHnA684Kg0PL2bReY27YAAiEA6j65GwgbmvrdJt2pXahtSv02ZlMg1xyQwhHW7vaiMSA="}]},"_npmUser":{"name":"evan-l","email":"lzf170529@163.com"},"directories":{},"maintainers":[{"name":"evan-l","email":"lzf170529@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/e-async-control_1.0.5_1703661768440_0.598764191863846"},"_hasShrinkwrap":false}},"time":{"created":"2023-10-22T07:37:27.739Z","1.0.0":"2023-10-22T07:37:27.919Z","modified":"2023-12-27T07:22:48.775Z","1.0.1":"2023-10-22T07:43:56.134Z","1.0.2":"2023-10-22T08:07:26.536Z","1.0.3":"2023-10-22T08:34:09.842Z","1.0.4":"2023-10-22T12:59:22.375Z","1.0.5":"2023-12-27T07:22:48.591Z"},"maintainers":[{"name":"evan-l","email":"lzf170529@163.com"}],"description":"异步并发控制","repository":{"type":"git","url":"https://gitee.com/liu-zhengfeng-yyy/request-control.git"},"author":{"name":"Evan liu","email":"lzf170529@163.com"},"license":"MIT","readme":"# e-async-control\r\n\r\n### 介绍\r\n>异步并发控制 (可用于大量异步网络请求最大并发数控制)\r\n\r\n### 技术栈\r\n>typescript + vite(build)\r\n\r\n\r\n### 安装教程\r\n\r\n```shell\r\n# npm\r\nnpm install e-async-control\r\n\r\n# yarn  \r\nyarn add e-async-control\r\n\r\n# pnpm\r\npnpm add e-async-control\r\n```\r\n### 使用说明\r\n\r\n>使用示例\r\n\r\n```typescript\r\nimport {AsyncController} from \"e-async-control\";\r\nimport type {TaskList} from \"e-async-control\";\r\n// 用于生成异步任务\r\nfunction createTestTask(length = 10): TaskList {\r\n    const result = [];\r\n    for (let i = 0; i < length; i++) {\r\n        result.push(\r\n            () => new Promise((resolve, reject) => {\r\n                setTimeout(() => {\r\n                    console.log(i);\r\n                    if (i % 2 === 0) {\r\n                        resolve(i)\r\n                    } else {\r\n                        reject(i)\r\n                    }\r\n                }, Math.floor(Math.random() * (2000 - 1000 + 1)) + 1000)\r\n            }))\r\n    }\r\n    return result\r\n}\r\n// 实例化控制器\r\nconst controller = new AsyncController(createTestTask(10), 2);\r\n// 开始执行任务\r\ncontroller.startTask().then(result => {\r\n    console.log(result)\r\n});\r\n\r\n```\r\n> API\r\n> \r\n```typescript\r\nexport declare class AsyncController {\r\n    private readonly taskList;\r\n    private readonly maxNum;\r\n    constructor(taskList: TaskList, maxNum?: number);\r\n    startTask(): TaskStartResult;\r\n}\r\n\r\nexport declare type Task = () => Promise<any>;\r\n\r\nexport declare type TaskList = Task[];\r\n\r\nexport declare type TaskStartResult = Promise<Array<any>>;\r\n```","readmeFilename":"README.md"}