Skip to main content

Worker

Класс Worker представляет WebWorker. Событие worker генерируется на объекте страницы для обозначения создания воркера. Событие close генерируется на объекте воркера, когда воркер завершает работу.

page.on('worker', worker => {
console.log('Worker created: ' + worker.url());
worker.on('close', worker => console.log('Worker destroyed: ' + worker.url()));
});

console.log('Current workers:');
for (const worker of page.workers())
console.log(' ' + worker.url());

Методы

evaluate

Возвращает значение, возвращаемое pageFunction.

Если функция, переданная в worker.evaluate(), возвращает [Promise], то worker.evaluate() будет ожидать разрешения промиса и вернет его значение.

Если функция, переданная в worker.evaluate(), возвращает значение, не являющееся [Serializable], то worker.evaluate() вернет undefined. Playwright также поддерживает передачу некоторых дополнительных значений, которые не сериализуются через JSON: -0, NaN, Infinity, -Infinity.

Использование

await worker.evaluate(pageFunction);
await worker.evaluate(pageFunction, arg);

Аргументы

  • pageFunction [function] | [string]#

    Функция для выполнения в контексте воркера.

  • arg [EvaluationArgument] (опционально)#

    Необязательный аргумент для передачи в pageFunction.

Возвращает

  • [Promise]<[Serializable]>#

evaluateHandle

Возвращает значение, возвращаемое pageFunction в виде [JSHandle].

Единственное отличие между worker.evaluate() и worker.evaluateHandle() заключается в том, что worker.evaluateHandle() возвращает [JSHandle].

Если функция, переданная в worker.evaluateHandle(), возвращает [Promise], то worker.evaluateHandle() будет ожидать разрешения промиса и вернет его значение.

Использование

await worker.evaluateHandle(pageFunction);
await worker.evaluateHandle(pageFunction, arg);

Аргументы

  • pageFunction [function] | [string]#

    Функция для выполнения в контексте воркера.

  • arg [EvaluationArgument] (опционально)#

    Необязательный аргумент для передачи в pageFunction.

Возвращает

  • [Promise]<[JSHandle]>#

url

Использование

worker.url();

Возвращает

  • [string]#

События

on('close')

Генерируется, когда данный выделенный WebWorker завершает работу.

Использование

worker.on('close', data => {});

Данные события

  • [Worker]