跳到主要內容
版本:23.11.1

WebWorker 類別

這個類別代表一個 WebWorker

簽名

export declare abstract class WebWorker extends EventEmitter<Record<EventType, unknown>>

繼承自: EventEmitter<Record<EventType, unknown>>

備註

workercreatedworkerdestroyed 事件會在頁面物件上發出,以表示 worker 的生命週期。

此類別的建構函式標示為內部使用。第三方程式碼不應直接呼叫建構函式,或建立繼承 WebWorker 類別的子類別。

範例

page.on('workercreated', worker =>
console.log('Worker created: ' + worker.url()),
);
page.on('workerdestroyed', worker =>
console.log('Worker destroyed: ' + worker.url()),
);

console.log('Current workers:');
for (const worker of page.workers()) {
console.log(' ' + worker.url());
}

屬性

屬性

修飾詞

類型

描述

client

唯讀

CDPSession

WebWorker 所屬的 CDP 工作階段用戶端。

方法

方法

修飾詞

描述

close()
evaluate(func, args)

worker 中評估給定的函式。

備註

如果給定的函式傳回 promise,evaluate 將等待 promise 解析。

根據經驗法則,如果給定函式的傳回值比 JSON 物件複雜(例如,大多數類別),那麼 evaluate _很可能_ 會傳回一些截斷的值(或 {})。這是因為我們沒有傳回實際的傳回值,而是傳回透過協定傳輸到 Puppeteer 的反序列化版本。

一般來說,如果 evaluate 無法正確序列化傳回值,或者您需要傳回物件的可變 handle,您應該使用 evaluateHandle

evaluateHandle(func, args)

worker 中評估給定的函式。

備註

如果給定的函式傳回 promise,evaluate 將等待 promise 解析。

一般來說,如果 evaluate 無法正確序列化傳回值,或者您需要傳回物件的可變 handle,您應該使用 evaluateHandle

url()

此網頁 worker 的 URL。