Module: AsyncPromiseWaitRetry

Defined in:
lib/puppeteer/async_utils.rb

Instance Method Summary collapse

Instance Method Details

#waitObject



198
199
200
201
202
203
204
205
206
207
208
209
210
211
# File 'lib/puppeteer/async_utils.rb', line 198

def wait(...)
  loop do
    begin
      return super
    rescue ThreadError => e
      raise unless e.message == 'Attempt to unlock a mutex which is not locked'
      next unless resolved?

      value = self.value
      raise value if value.is_a?(Exception)
      return value
    end
  end
end