@pluve/magic-background-worker
TypeScript icon, indicating that this package has built-in type declarations

0.0.3 • Public • Published

@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,入参及说明:

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

startWorker

启动 Web Worker,入参及说明:

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

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 到主线程。

Readme

Keywords

Package Sidebar

Install

npm i @pluve/magic-background-worker

Homepage

.

Weekly Downloads

0

Version

0.0.3

License

ISC

Unpacked Size

18.6 kB

Total Files

9

Last publish

Collaborators

  • fuqiting
  • zhaoyajie
  • annan1220
  • pengfeng365
  • plutolove
  • vdfor
  • ddg-dany
  • yangwend
  • yaqin8023
  • damonchen
  • lee2545
  • abel0222
  • stevenluo
  • xiongyan
  • deng_cheng