跳至主要內容
版本:23.11.1

WebWorker.evaluate() 方法

worker 中評估給定的函式。

簽名

class WebWorker {
evaluate<
Params extends unknown[],
Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
>(func: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>;
}

參數

參數

類型

描述

func

函式 | 字串

要評估的函式。

args

參數

傳遞到 func 的參數。

傳回

Promise<Awaited<ReturnType<Func>>>

func 的結果。

備註

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

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

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