await-num-q 1.1.4 → 1.2.2
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 +7 -5
- package/dist/index.js +24 -21
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
@@ -1,12 +1,17 @@
|
|
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
|
10
|
+
constructor({ max, retry, endCallback, }: {
|
11
|
+
max?: number;
|
12
|
+
retry?: number;
|
13
|
+
endCallback?: () => void;
|
14
|
+
});
|
10
15
|
/**
|
11
16
|
* 添加任务
|
12
17
|
* @param f 目标函数
|
@@ -18,7 +23,7 @@ export declare class asyncQueue {
|
|
18
23
|
/**
|
19
24
|
* 清除运行完成的任务
|
20
25
|
*/
|
21
|
-
clear(): void;
|
26
|
+
clear(fial?: boolean): void;
|
22
27
|
/**
|
23
28
|
* 添加并运行任务 若是没有传入函数 运行 之前传入的任务
|
24
29
|
* @param f 目标函数
|
@@ -32,9 +37,6 @@ export declare class asyncQueue {
|
|
32
37
|
* @returns
|
33
38
|
*/
|
34
39
|
getTasks(): RunFunBoj[];
|
35
|
-
/**
|
36
|
-
*
|
37
|
-
*/
|
38
40
|
/**
|
39
41
|
* 异步运行并得到返回值
|
40
42
|
* @param fun 目标函数
|
package/dist/index.js
CHANGED
@@ -19,17 +19,23 @@ 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, _asyncQueue_endCallback;
|
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, endCallback, }) {
|
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);
|
31
|
+
_asyncQueue_endCallback.set(this, void 0);
|
30
32
|
if (max) {
|
31
33
|
__classPrivateFieldSet(this, _asyncQueue_maxNum, max, "f");
|
32
34
|
}
|
35
|
+
if (retry) {
|
36
|
+
__classPrivateFieldSet(this, _asyncQueue_retry, retry, "f");
|
37
|
+
}
|
38
|
+
__classPrivateFieldSet(this, _asyncQueue_endCallback, endCallback || function () { }, "f");
|
33
39
|
}
|
34
40
|
/**
|
35
41
|
* 添加任务
|
@@ -45,6 +51,7 @@ class asyncQueue {
|
|
45
51
|
let funObj = {
|
46
52
|
status: "wait",
|
47
53
|
target: f,
|
54
|
+
retry: __classPrivateFieldGet(this, _asyncQueue_retry, "f"),
|
48
55
|
callback,
|
49
56
|
err,
|
50
57
|
};
|
@@ -55,8 +62,8 @@ class asyncQueue {
|
|
55
62
|
/**
|
56
63
|
* 清除运行完成的任务
|
57
64
|
*/
|
58
|
-
clear() {
|
59
|
-
__classPrivateFieldSet(this, _asyncQueue_Queue, __classPrivateFieldGet(this, _asyncQueue_Queue, "f").filter((item) => item.status !== "end" && item.status !== "fail"), "f");
|
65
|
+
clear(fial = false) {
|
66
|
+
__classPrivateFieldSet(this, _asyncQueue_Queue, __classPrivateFieldGet(this, _asyncQueue_Queue, "f").filter((item) => item.status !== "end" && fial ? item.status !== "fail" : true), "f");
|
60
67
|
}
|
61
68
|
/**
|
62
69
|
* 添加并运行任务 若是没有传入函数 运行 之前传入的任务
|
@@ -94,15 +101,24 @@ class asyncQueue {
|
|
94
101
|
}
|
95
102
|
catch (_c) {
|
96
103
|
if (fun.err instanceof Function) {
|
97
|
-
fun.
|
104
|
+
if (fun.retry > 0) {
|
105
|
+
fun.status = "wait";
|
106
|
+
fun.retry--;
|
107
|
+
}
|
108
|
+
else {
|
109
|
+
fun.err(data);
|
110
|
+
fun.status = "fail";
|
111
|
+
}
|
98
112
|
}
|
99
|
-
fun.status = "fail";
|
100
113
|
}
|
101
114
|
finally {
|
102
115
|
__classPrivateFieldSet(this, _asyncQueue_runNum, (_b = __classPrivateFieldGet(this, _asyncQueue_runNum, "f"), _b--, _b), "f");
|
103
116
|
this.run();
|
104
117
|
}
|
105
118
|
}
|
119
|
+
else {
|
120
|
+
__classPrivateFieldGet(this, _asyncQueue_endCallback, "f").call(this);
|
121
|
+
}
|
106
122
|
});
|
107
123
|
}
|
108
124
|
/**
|
@@ -112,19 +128,6 @@ class asyncQueue {
|
|
112
128
|
getTasks() {
|
113
129
|
return __classPrivateFieldGet(this, _asyncQueue_Queue, "f");
|
114
130
|
}
|
115
|
-
/**
|
116
|
-
*
|
117
|
-
*/
|
118
|
-
// runFail(){
|
119
|
-
// let fun
|
120
|
-
// for (let f of this.#Queue) {
|
121
|
-
// if (f.status == 'fail') {
|
122
|
-
// fun = f;
|
123
|
-
// break;
|
124
|
-
// }
|
125
|
-
// }
|
126
|
-
// fun?.status == 'wait'
|
127
|
-
// }
|
128
131
|
/**
|
129
132
|
* 异步运行并得到返回值
|
130
133
|
* @param fun 目标函数
|
@@ -139,7 +142,7 @@ class asyncQueue {
|
|
139
142
|
}
|
140
143
|
}
|
141
144
|
exports.asyncQueue = asyncQueue;
|
142
|
-
_asyncQueue_Queue = new WeakMap(), _asyncQueue_runNum = new WeakMap(), _asyncQueue_maxNum = new WeakMap();
|
145
|
+
_asyncQueue_Queue = new WeakMap(), _asyncQueue_runNum = new WeakMap(), _asyncQueue_retry = new WeakMap(), _asyncQueue_maxNum = new WeakMap(), _asyncQueue_endCallback = new WeakMap();
|
143
146
|
const mergePromise = new WeakMap();
|
144
147
|
/**
|
145
148
|
* 在某个异步请求 参数相同 返回的值相同
|
@@ -162,4 +165,4 @@ function MergeAsync(asyncFun, ...param) {
|
|
162
165
|
});
|
163
166
|
}
|
164
167
|
exports.MergeAsync = MergeAsync;
|
165
|
-
//# sourceMappingURL=data:application/json;base64,
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT0EsTUFBYSxVQUFVO0lBTXJCLFlBQVksRUFDVixHQUFHLEVBQ0gsS0FBSyxFQUNMLFdBQVcsR0FLWjtRQWJELDRCQUFzQixFQUFFLEVBQUM7UUFDekIsNkJBQVUsQ0FBQyxFQUFDO1FBQ1osNEJBQVMsQ0FBQyxFQUFDO1FBQ1gsNkJBQVUsQ0FBQyxFQUFDO1FBQ1osMENBQXlCO1FBVXZCLElBQUksR0FBRyxFQUFFLENBQUM7WUFDUix1QkFBQSxJQUFJLHNCQUFXLEdBQUcsTUFBQSxDQUFDO1FBQ3JCLENBQUM7UUFDRCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsdUJBQUEsSUFBSSxxQkFBVSxLQUFLLE1BQUEsQ0FBQztRQUN0QixDQUFDO1FBRUQsdUJBQUEsSUFBSSwyQkFBZ0IsV0FBVyxJQUFJLGNBQVcsQ0FBQyxNQUFBLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILElBQUksQ0FBQyxDQUFXLEVBQUUsUUFBbUIsRUFBRSxHQUFjO1FBQ25ELElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssZUFBZSxFQUFFLENBQUM7WUFDM0MsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsSUFBSSxNQUFNLEdBQWM7WUFDdEIsTUFBTSxFQUFFLE1BQU07WUFDZCxNQUFNLEVBQUUsQ0FBQztZQUNULEtBQUssRUFBRSx1QkFBQSxJQUFJLHlCQUFPO1lBQ2xCLFFBQVE7WUFDUixHQUFHO1NBQ0osQ0FBQztRQUNGLHVCQUFBLElBQUkseUJBQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMs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
|