Handle worker lifetime.

This commit is contained in:
kovacsv 2022-10-02 12:04:33 +02:00
parent 79568915f9
commit 990d6329aa

View File

@ -26,29 +26,25 @@ export class ImporterOcct extends ImporterBase
ClearContent ()
{
if (this.worker !== null) {
this.worker.terminate ();
this.worker = null;
}
}
ResetContent ()
{
this.worker = null;
}
ImportContent (fileContent, onFinish)
{
if (this.worker === null) {
let workerPath = GetExternalLibPath ('loaders/occt-import-js-worker.js');
this.worker = new Worker (workerPath);
}
let onModelConverted = (ev) => {
let workerPath = GetExternalLibPath ('loaders/occt-import-js-worker.js');
this.worker = new Worker (workerPath);
this.worker.addEventListener ('message', (ev) => {
this.ImportResultJson (ev.data, onFinish);
this.worker.removeEventListener ('message', onModelConverted);
};
this.worker.addEventListener ('message', onModelConverted);
});
this.worker.addEventListener ('error', (ev) => {
this.worker = null;
this.SetError ('Failed to load occt-import-js.');
onFinish ();
});