WebWorker.evaluate() 方法
在工作线程中求值给定的函数。
签名
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 |
要传入 |
返回值:
Promise<Awaited<ReturnType<Func>>>
func 的结果。
备注
如果给定函数返回一个 promise,evaluate 将等待该 promise 解析。
一般来说,如果给定函数的返回值比 JSON 对象更复杂(例如大多数类),那么 evaluate 将_可能_返回某个截断的值(或 {})。这是因为我们返回的不是实际的返回值,而是通过协议将返回值传输到 Puppeteer 后得到的反序列化版本。
通常,如果 evaluate 无法正确序列化返回值,或者你需要指向返回对象的可变 handle,则应使用 evaluateHandle。