pipeline判断终止条件
This commit is contained in:
parent
74054a9820
commit
9939117121
|
|
@ -8,6 +8,9 @@ exports.pipeline = void 0;
|
|||
function pipeline(...units) {
|
||||
const exec = (idx, resultPrev) => {
|
||||
const unit = units[idx];
|
||||
if (!unit) {
|
||||
return resultPrev;
|
||||
}
|
||||
const result = unit(resultPrev);
|
||||
if (result instanceof Promise) {
|
||||
return result.then((resultSync) => exec(idx + 1, resultSync));
|
||||
|
|
|
|||
|
|
@ -3,8 +3,11 @@
|
|||
* @param units 各个执行单元,需要流水线执行,可能是同步也可能是异步
|
||||
*/
|
||||
export function pipeline(...units: Array<(result?: any) => any>) {
|
||||
const exec = (idx: number, resultPrev?: any):any => {
|
||||
const exec = (idx: number, resultPrev?: any):any => {
|
||||
const unit = units[idx];
|
||||
if (!unit) {
|
||||
return resultPrev;
|
||||
}
|
||||
const result = unit(resultPrev);
|
||||
if (result instanceof Promise) {
|
||||
return result.then(
|
||||
|
|
|
|||
Loading…
Reference in New Issue