跳到主要内容
版本: 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

Func | string

要计算的函数。

args

Params

传递给 func 的参数。

返回值

Promise<Awaited<ReturnType<Func>>>

func 的结果。

备注

如果给定的函数返回一个 promise,evaluate 将等待 promise 解析。

一般来说,如果给定函数的返回值比 JSON 对象(例如,大多数类)复杂,那么 evaluate _很可能_ 返回一些截断的值(或 {})。 这是因为我们返回的不是实际的返回值,而是通过协议将返回值传输到 Puppeteer 后反序列化的版本。

一般来说,如果 evaluate 无法正确序列化返回值,或者你需要一个可变的 handle 来访问返回对象,则应使用 evaluateHandle