sat-worker

Библиотека для запуска фоновых процессов в библиотеках

Usage no npm install needed!

<script type="module">
  import satWorker from 'https://cdn.skypack.dev/sat-worker';
</script>

README

SATWorker Библиотека запуска процесса в фоне.

Исходный код библиотеки

Видео

главный модуль

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BehaviorSubject } from 'rxjs';
import { ISATWorker, SATWORKER_OPTIONS } from 'sat-worker';

import { AppComponent } from './app.component';

@NgModule({
  declarations: [
    .....
  ],
  imports: [
    .....    
  ],
  providers: [
    .....
    // свойства фоновых процессов
    { provide: SATWORKER_OPTIONS, useValue: new BehaviorSubject<ISATWorker>({ isAsync: true }) }
    .....
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

Пример

constructor(private s_worker: SatWorkerService) { }

ngOnInit()
{
  const f = (a: string): string =>
  {
    console.log('work');

    const start = Date.now();
    while (Date.now() < start + 5000)
    {
    }
    return a.toUpperCase();
  };

  for (let i = 1; i < 10; i++)
    this.s_worker.work(f, `Проверка${i}`).subscribe({ next: v => console.log(v) });

  setTimeout(() =>
  {
    this.s_worker.work(f, 'Проверка_').subscribe({ next: v => console.log(v) });
  }, 6000);

}