docs: refactor TS example
[poolifier.git] / examples / typescript / worker.ts
index 81d39df3c9eb5c34019dfeeca6e2ab495f6fc982..1d8af8d904555461173c214fc35172f53160d82e 100644 (file)
@@ -6,22 +6,21 @@ export interface MyData {
 
 export interface MyResponse {
   message: string
-  data: MyData
+  data?: MyData
 }
 
-class MyThreadWorker extends ThreadWorker<MyData, Promise<MyResponse>> {
+class MyThreadWorker extends ThreadWorker<MyData, MyResponse> {
   constructor () {
-    // eslint-disable-next-line @typescript-eslint/promise-function-async
-    super((data: MyData) => this.process(data), {
+    super(async (data?: MyData) => await this.process(data), {
       maxInactiveTime: 60000
     })
   }
 
-  private async process (data: MyData): Promise<MyResponse> {
+  private async process (data?: MyData): Promise<MyResponse> {
     return await new Promise(resolve => {
       setTimeout(() => {
         resolve({ message: 'Hello from Worker :)', data })
-      }, 10000)
+      }, 1000)
     })
   }
 }