X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=examples%2Ftypescript%2Fworker.ts;h=1d8af8d904555461173c214fc35172f53160d82e;hb=394676d15b59b7013b9d95889e47a4a49860b057;hp=0b44e64042a3d58abf7de4966101633b2b9f31b7;hpb=e9e162504b02f053c805c43e7cd5a4a340730970;p=poolifier.git diff --git a/examples/typescript/worker.ts b/examples/typescript/worker.ts index 0b44e640..1d8af8d9 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 }) + }, 1000) + }) } } -export default new MyThreadWorker(); +export default new MyThreadWorker()