await-num-q 1.1.3 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  export type RunFunBoj = {
2
2
  status: "wait" | "ing" | "end" | "fail";
3
3
  target: Function;
4
+ retry: number;
4
5
  callback?: Function;
5
6
  err?: Function;
6
7
  };
7
8
  export declare class asyncQueue {
8
9
  #private;
9
- constructor(max?: number);
10
+ constructor(max?: number, retry?: number);
10
11
  /**
11
12
  * 添加任务
12
13
  * @param f 目标函数
@@ -18,7 +19,7 @@ export declare class asyncQueue {
18
19
  /**
19
20
  * 清除运行完成的任务
20
21
  */
21
- clear(): void;
22
+ clear(fial?: boolean): void;
22
23
  /**
23
24
  * 添加并运行任务 若是没有传入函数 运行 之前传入的任务
24
25
  * @param f 目标函数
package/dist/index.js CHANGED
@@ -19,17 +19,21 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
19
19
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
20
20
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
21
21
  };
22
- var _asyncQueue_Queue, _asyncQueue_runNum, _asyncQueue_maxNum;
22
+ var _asyncQueue_Queue, _asyncQueue_runNum, _asyncQueue_retry, _asyncQueue_maxNum;
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
24
  exports.MergeAsync = exports.asyncQueue = void 0;
25
25
  class asyncQueue {
26
- constructor(max) {
26
+ constructor(max, retry) {
27
27
  _asyncQueue_Queue.set(this, []);
28
28
  _asyncQueue_runNum.set(this, 0);
29
+ _asyncQueue_retry.set(this, 0);
29
30
  _asyncQueue_maxNum.set(this, 3);
30
31
  if (max) {
31
32
  __classPrivateFieldSet(this, _asyncQueue_maxNum, max, "f");
32
33
  }
34
+ if (retry) {
35
+ __classPrivateFieldSet(this, _asyncQueue_retry, retry, "f");
36
+ }
33
37
  }
34
38
  /**
35
39
  * 添加任务
@@ -45,6 +49,7 @@ class asyncQueue {
45
49
  let funObj = {
46
50
  status: "wait",
47
51
  target: f,
52
+ retry: __classPrivateFieldGet(this, _asyncQueue_retry, "f"),
48
53
  callback,
49
54
  err,
50
55
  };
@@ -55,8 +60,8 @@ class asyncQueue {
55
60
  /**
56
61
  * 清除运行完成的任务
57
62
  */
58
- clear() {
59
- __classPrivateFieldSet(this, _asyncQueue_Queue, __classPrivateFieldGet(this, _asyncQueue_Queue, "f").filter((item) => item.status !== "end"), "f");
63
+ clear(fial = false) {
64
+ __classPrivateFieldSet(this, _asyncQueue_Queue, __classPrivateFieldGet(this, _asyncQueue_Queue, "f").filter((item) => item.status !== "end" && fial ? item.status !== "fail" : true), "f");
60
65
  }
61
66
  /**
62
67
  * 添加并运行任务 若是没有传入函数 运行 之前传入的任务
@@ -94,9 +99,15 @@ class asyncQueue {
94
99
  }
95
100
  catch (_c) {
96
101
  if (fun.err instanceof Function) {
97
- fun.err(data);
102
+ if (fun.retry > 0) {
103
+ fun.status = "wait";
104
+ fun.retry--;
105
+ }
106
+ else {
107
+ fun.err(data);
108
+ fun.status = "fail";
109
+ }
98
110
  }
99
- fun.status = "fail";
100
111
  }
101
112
  finally {
102
113
  __classPrivateFieldSet(this, _asyncQueue_runNum, (_b = __classPrivateFieldGet(this, _asyncQueue_runNum, "f"), _b--, _b), "f");
@@ -126,7 +137,7 @@ class asyncQueue {
126
137
  }
127
138
  }
128
139
  exports.asyncQueue = asyncQueue;
129
- _asyncQueue_Queue = new WeakMap(), _asyncQueue_runNum = new WeakMap(), _asyncQueue_maxNum = new WeakMap();
140
+ _asyncQueue_Queue = new WeakMap(), _asyncQueue_runNum = new WeakMap(), _asyncQueue_retry = new WeakMap(), _asyncQueue_maxNum = new WeakMap();
130
141
  const mergePromise = new WeakMap();
131
142
  /**
132
143
  * 在某个异步请求 参数相同 返回的值相同
@@ -149,4 +160,4 @@ function MergeAsync(asyncFun, ...param) {
149
160
  });
150
161
  }
151
162
  exports.MergeAsync = MergeAsync;
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUEsTUFBYSxVQUFVO0lBSXJCLFlBQVksR0FBWTtRQUh4Qiw0QkFBc0IsRUFBRSxFQUFDO1FBQ3pCLDZCQUFVLENBQUMsRUFBQztRQUNaLDZCQUFVLENBQUMsRUFBQztRQUVWLElBQUksR0FBRyxFQUFFLENBQUM7WUFDUix1QkFBQSxJQUFJLHNCQUFXLEdBQUcsTUFBQSxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsSUFBSSxDQUFDLENBQVcsRUFBRSxRQUFtQixFQUFFLEdBQWM7UUFDbkQsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUUsQ0FBQztZQUMzQyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxJQUFJLE1BQU0sR0FBYztZQUN0QixNQUFNLEVBQUUsTUFBTTtZQUNkLE1BQU0sRUFBRSxDQUFDO1lBQ1QsUUFBUTtZQUNSLEdBQUc7U0FDSixDQUFDO1FBQ0YsdUJBQUEsSUFBSSx5QkFBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUs7UUFDSCx1QkFBQSxJQUFJLHFCQUFVLHVCQUFBLElBQUkseUJBQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLE1BQUEsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0csR0FBRyxDQUFDLENBQVksRUFBRSxRQUFtQixFQUFFLEdBQWM7OztZQUN6RCxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNOLElBQUksQ0FB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
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT0EsTUFBYSxVQUFVO0lBS3JCLFlBQVksR0FBWSxFQUFFLEtBQWM7UUFKeEMsNEJBQXNCLEVBQUUsRUFBQztRQUN6Qiw2QkFBVSxDQUFDLEVBQUM7UUFDWiw0QkFBUyxDQUFDLEVBQUM7UUFDWCw2QkFBVSxDQUFDLEVBQUM7UUFFVixJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsdUJBQUEsSUFBSSxzQkFBVyxHQUFHLE1BQUEsQ0FBQztRQUNyQixDQUFDO1FBQ0QsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLHVCQUFBLElBQUkscUJBQVUsS0FBSyxNQUFBLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxJQUFJLENBQUMsQ0FBVyxFQUFFLFFBQW1CLEVBQUUsR0FBYztRQUNuRCxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLGVBQWUsRUFBRSxDQUFDO1lBQzNDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELElBQUksTUFBTSxHQUFjO1lBQ3RCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsTUFBTSxFQUFFLENBQUM7WUFDVCxLQUFLLEVBQUUsdUJBQUEsSUFBSSx5QkFBTztZQUNsQixRQUFRO1lBQ1IsR0FBRztTQUNKLENBQUM7UUFDRix1QkFBQSxJQUFJLHlCQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLO1FBQ2hCLHVCQUFBLElBQUkscUJBQVUsdUJBQUEsSUFBSSx5QkFBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxF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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "await-num-q",
3
- "version": "1.1.3",
3
+ "version": "1.2.1",
4
4
  "description": "一个用于 处理 指定并行异步任务数量的 队列",
5
5
  "keywords":["q","await","async","队列","异步","并行"],
6
6
  "main": "dist/index.js",