跳至主要内容
版本:22.5.0

WebWorker.evaluate() 方法

worker 中评估给定的函数。

签名:

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

参数

参数类型描述
funcFunc | string要评估的函数。
argsParams传递给 func 的参数。

返回值

Promise<Awaited<ReturnType<Func>>>

func 的结果。

备注

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

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

通常,如果 evaluate 无法正确序列化返回值,或者您需要一个可变的 handle 来处理返回值对象,则应使用 evaluateHandle