0.0.3 • Published 1 year ago

@pluve/magic-background-worker v0.0.3

Weekly downloads
-
License
ISC
Repository
gitlab
Last release
1 year ago

@pluve/magic-background-worker

提供稳定定时器。解决页面长时间失焦情况下,setInterval 或 setTimeout 被浏览器降频问题。

Usage

import BackgroundWorker from '@pluve/magic-background-worker';

BackgroundWorker.getInstance().registerBackgroundWorker({
  minExecuteInterval: 1000,
  callback: data => {
    console.log('BackgroundWorker Data: ', data);
  },
});

Description

registerBackgroundWorker

注册 Web Worker,入参及说明:

编号参数名必填说明
1minExecuteInterval最小执行频率,建议间隔 1 秒,单位毫秒。默认 1000
2callback定时任务回调,若不传则不会立即启动 worker

startWorker

启动 Web Worker,入参及说明:

编号参数名必填说明
1minExecuteInterval最小执行频率,建议间隔 1 秒,单位毫秒。默认 1000
2callback定时任务回调

stopWorker

停止 Web Worker

callback data

  1. 建议调用方将定时任务间隔设置为业务需要的最小定时间隔。如业务需要 10’s 执行一次,则可将 minExecuteInterval 设置为 10000;
  2. 若同时存在 10‘s 一次和 15’s 一次的定时任务,则可将 minExecuteInterval 设置为 5‘s,即 10 和 15 的最大公约数;
  3. ticket 为任务回调时系统时间戳;
  4. count 为 Web Worker 启动后定时任务执行次数;
  5. action 值固定为’BackgroundWork‘
export interface IBackgroundData {
  /**
   * 定时任务回调action
   */
  action: 'BackgroundWork';
  /**
   * 定时任务回调时间戳
   */
  ticket: number;
  /**
   * 定时任务计数
   */
  count: number;
}

TODO

支持耗时任务在 worker 中执行并将结果 post 到主线程。

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago