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.
See
graphql-batch/lib/graphql/batch/loader.rb
Lines 65 to 77 in 3b22366
If all promises are fulfilled, then
reject_pending_promiseswill find nowhere to passerr, 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.