See
|
def resolve #:nodoc: |
|
return if resolved? |
|
load_keys = queue |
|
@queue = nil |
|
|
|
around_perform do |
|
perform(load_keys) |
|
end |
|
|
|
check_for_broken_promises(load_keys) |
|
rescue => err |
|
reject_pending_promises(load_keys, err) |
|
end |
If all promises are fulfilled, then reject_pending_promises will find nowhere to pass err, and it'll be dropped.
I stumbled on a case where this happened due to open-telemetry tracing instrumentation annotating a span with the exception.