X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=examples%2Ftypescript%2Fworker.ts;h=79819d9853b345ccadfc0bb8428e4b4c9a3820c5;hb=4aef9c4526473c4d4699be96fb382933eafb40d3;hp=0b44e64042a3d58abf7de4966101633b2b9f31b7;hpb=721e94d19c156cdaada0ffbe3d5b4d5144076948;p=poolifier.git diff --git a/examples/typescript/worker.ts b/examples/typescript/worker.ts index 0b44e640..79819d98 100644 --- a/examples/typescript/worker.ts +++ b/examples/typescript/worker.ts @@ -1,29 +1,28 @@ -import { ThreadWorker } from "poolifier"; +import { ThreadWorker } from 'poolifier' export interface MyData { - ok: number; + ok: 0 | 1 } export interface MyResponse { - message: string; - data: MyData; + message: string + data?: MyData } -class MyThreadWorker extends ThreadWorker> { - constructor() { - super((data) => this.process(data), { - maxInactiveTime: 60_000, - async: true, - }); +class MyThreadWorker extends ThreadWorker { + constructor () { + super(async (data?: MyData) => await this.process(data), { + maxInactiveTime: 60000 + }) } - private async process(data: MyData): Promise { - return new Promise((resolve) => { + private async process (data?: MyData): Promise { + return await new Promise(resolve => { setTimeout(() => { - resolve({ message: "Hello from Worker :)", data }); - }, 10_000); - }); + resolve({ message: 'Hello from Worker :)', data }) + }, 10000) + }) } } -export default new MyThreadWorker(); +export default new MyThreadWorker()