class Playwright::WaitHelper
ref: github.com/microsoft/playwright/blob/01fb3a6045cbdb4b5bcba0809faed85bd917ab87/src/client/waiter.ts#L21<br>ref: github.com/microsoft/playwright-python/blob/30946ae3099d51f9b7f355f9ae7e8c04d748ce36/playwright/_impl/_wait_helper.py
def cleanup
def cleanup tered_listeners.each do |emitter, event, listener| ter.off(event, listener) tered_listeners.clear
def fulfill(*args)
def fulfill(*args) p @promise.resolved? mise.fulfill(args.first)
def initialize
def initialize @promise = Concurrent::Promises.resolvable_future @registered_listeners = Set.new end
def reject(error)
def reject(error) p @promise.resolved? mise.reject(error)
def reject_on_event(emitter, event, error, predicate: nil)
def reject_on_event(emitter, event, error, predicate: nil) listener = -> (*args) { if !predicate || predicate.call(*args) reject(error) end } emitter.on(event, listener) @registered_listeners << [emitter, event, listener] self end
def reject_on_timeout(timeout_ms, message)
def reject_on_timeout(timeout_ms, message) return if timeout_ms <= 0 Concurrent::Promises.schedule(timeout_ms / 1000.0) do reject(TimeoutError.new(message: message)) end self end
def wait_for_event(emitter, event, predicate: nil)
-
(
) --
-
(
Playwright::EventEmitter
) --
def wait_for_event(emitter, event, predicate: nil) listener = -> (*args) { begin if !predicate || predicate.call(*args) fulfill(*args) end rescue => err reject(err) end } emitter.on(event, listener) @registered_listeners << [emitter, event, listener] self end