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 | 參數 | 傳遞到 |
傳回
Promise<Awaited<ReturnType<Func>>>
func
的結果。
備註
如果給定的函式傳回 promise,evaluate 將會等待 promise 解析。
一般而言,如果給定函式的傳回值比 JSON 物件更複雜(例如,大多數類別),則 evaluate _可能_ 會傳回一些截斷的值(或 {}
)。這是因為我們沒有傳回實際的傳回值,而是傳回透過協定傳輸傳回值到 Puppeteer 後反序列化的版本。
一般來說,如果 evaluate 無法正確序列化傳回值,或者您需要傳回物件的可變 handle,您應該使用 evaluateHandle。