Worker
Класс Worker представляет собой WebWorker. Событие worker
генерируется на объекте страницы для сигнализации о создании воркера. Событие close
генерируется на объекте воркера, когда воркер завершает работу.
page.Worker += (_, worker) =>
{
Console.WriteLine($"Worker created: {worker.Url}");
worker.Close += (_, _) => Console.WriteLine($"Worker closed {worker.Url}");
};
Console.WriteLine("Current Workers:");
foreach(var pageWorker in page.Workers)
{
Console.WriteLine($"\tWorker: {pageWorker.Url}");
}
Методы
EvaluateAsync
Добавлено до версии v1.9Возвращает возвращаемое значение выражения.
Если функция, переданная в Worker.EvaluateAsync(), возвращает Promise, то Worker.EvaluateAsync() будет ожидать разрешения промиса и вернет его значение.
Если функция, переданная в Worker.EvaluateAsync(), возвращает значение, которое не является Serializable, то Worker.EvaluateAsync() вернет undefined
. Playwright также поддерживает передачу некоторых дополнительных значений, которые не сериализуются через JSON
: -0
, NaN
, Infinity
, -Infinity
.
Использование
await Worker.EvaluateAsync(expression, arg);
Аргументы
-
JavaScript-выражение для выполнения в контексте браузера. Если выражение оценивается как функция, функция автоматически вызывается.
-
arg
EvaluationArgument? (опционально)#Опциональный аргумент для передачи в выражение.
Возвращает
- [object]#
EvaluateHandleAsync
Добавлено до версии v1.9Возвращает возвращаемое значение выражения как JSHandle.
Единственное отличие между Worker.EvaluateAsync() и Worker.EvaluateHandleAsync() заключается в том, что Worker.EvaluateHandleAsync() возвращает JSHandle.
Если функция, переданная в Worker.EvaluateHandleAsync(), возвращает Promise, то Worker.EvaluateHandleAsync() будет ожидать разрешения промиса и вернет его значение.
Использование
await Worker.EvaluateHandleAsync(expression, arg);
Аргументы
-
JavaScript-выражение для выполнения в контексте браузера. Если выражение оценивается как функция, функция автоматически вызывается.
-
arg
EvaluationArgument? (опционально)#Опциональный аргумент для передачи в выражение.
Возвращает
Url
Добавлено до версии v1.9Использование
Worker.Url
Возвращает
События
событие Close
Добавлено до версии v1.9Генерируется, когда этот выделенный WebWorker завершает работу.
Использование
Worker.Close += async (_, worker) => {};
Данные события