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。