middleware_chain.ts

TypeScriptマスター

Explorer

C40
C++40
C#40
Dart40
Go40
Java40
JavaScript40
Kotlin40
Objective-C40
Perl40
PHP40
Python40
R40
Ruby40
Rust40
Shell40
Swift40
TypeScript
初級10
中級10
上級10
エキスパート5
マスター5
dependency_inject.ts
deep_readonly.ts
reactive_proxy.ts
middleware_chain.ts
async_pool.ts
middleware_chain.ts
Click to focus
1
2
3
4
5
6
7
8
9
10
type Middleware<T> = (ctx: T, next: () => Promise<void>) => Promise<void>;
class Pipeline<T> {
   private mw: Middleware<T>[] = [];
   use(fn: Middleware<T>) { this.mw.push(fn); return this; }
   async run(ctx: T) {
       const dispatch = (i: number): Promise<void> =>
           this.mw[i] ? this.mw[i](ctx, () => dispatch(i + 1)) : Promise.resolve();
       await dispatch(0);
   }
}
0WPM0%0:000/386(0%)|Ln 1, Col 1
UTF-8TypeScript

関連する練習問題