docs: refactor TS example
[poolifier.git] / examples / typescript / worker.ts
index 8350ebf94b1c36179334f1d9735884227f5b40ed..1d8af8d904555461173c214fc35172f53160d82e 100644 (file)
@@ -1,27 +1,26 @@
 import { ThreadWorker } from 'poolifier'
 
 export interface MyData {
-  ok: number
+  ok: 0 | 1
 }
 
 export interface MyResponse {
   message: string
-  data: MyData
+  data?: MyData
 }
 
-class MyThreadWorker extends ThreadWorker<MyData, Promise<MyResponse>> {
+class MyThreadWorker extends ThreadWorker<MyData, MyResponse> {
   constructor () {
-    super(data => this.process(data), {
-      maxInactiveTime: 60000,
-      async: true
+    super(async (data?: MyData) => await this.process(data), {
+      maxInactiveTime: 60000
     })
   }
 
-  private async process (data: MyData): Promise<MyResponse> {
-    return new Promise(resolve => {
+  private async process (data?: MyData): Promise<MyResponse> {
+    return await new Promise(resolve => {
       setTimeout(() => {
         resolve({ message: 'Hello from Worker :)', data })
-      }, 10000)
+      }, 1000)
     })
   }
 }