コンテンツへスキップ

useWebWorker

カテゴリ
エクスポートサイズ
322 B
最終変更
先週
関連

シンプルなWeb Workerの登録と通信。

使用方法

js
import { useWebWorker } from '@vueuse/core'

const { data, post, terminate, worker } = useWebWorker('/path/to/worker.js')
状態説明
dataRef<any>ワーカーから受信した最新のデータへの参照。着信メッセージに応答するために監視できます。
workerShallowRef<Worker | undefined>WebWorkerのインスタンスへの参照
メソッドシグネチャ説明
post(message: any, transfer: Transferable[]): void
(message: any, options?: StructuredSerializeOptions | undefined): void
ワーカスレッドにデータを送信します。
terminate() => voidワーカーを停止して終了します。

型定義

typescript
type PostMessage = (typeof Worker.prototype)["postMessage"]
export interface UseWebWorkerReturn<Data = any> {
  data: Ref<Data>
  post: PostMessage
  terminate: () => void
  worker: ShallowRef<Worker | undefined>
}
type WorkerFn = (...args: unknown[]) => Worker
/**
 * Simple Web Workers registration and communication.
 *
 * @see https://vueuse.dokyumento.jp/useWebWorker
 * @param url
 * @param workerOptions
 * @param options
 */
export declare function useWebWorker<T = any>(
  url: string,
  workerOptions?: WorkerOptions,
  options?: ConfigurableWindow,
): UseWebWorkerReturn<T>
/**
 * Simple Web Workers registration and communication.
 *
 * @see https://vueuse.dokyumento.jp/useWebWorker
 * @param worker
 */
export declare function useWebWorker<T = any>(
  worker: Worker | WorkerFn,
): UseWebWorkerReturn<T>

ソース

ソースドキュメント

コントリビューター

Anthony Fu
Antério Vieira
Anthony Fu
René Hellenes
Yasser Lahbibi
DarknessChaser
Young
karma
Shinigami
Mario Kolli
Shinigami
wheat
Alex Kozack
userquin

変更ログ

v12.0.0-beta.1 2024/11/21
0a9ed - feat!: Vue 2サポートの削除、バンドルの最適化、クリーンアップ (#4349)
v10.2.0 2023/06/16
5988f - fix: web worker転送オプションの追加 (#3123)
v10.0.0-beta.5 2023年4月13日
cb644 - リファクタリング!: isFunctionisStringユーティリティの削除
v9.4.0 2022年10月25日
c8849 - 機能追加: オーバーロードのサポート (#2259)

MITライセンスの下でリリースされています。