2 ms·
There seems to be a bug on "Deferred vs blocking API" slide: d = async_read() d.addCallbacks(on_result, on_failure) on_failure() is not called if on_resul
by d0mine 13y ago
There seems to be a bug on "Deferred vs blocking API" slide:
d = async_read()
d.addCallbacks(on_result, on_failure)
on_failure() is not called if on_result() raises an exception but it might be called in the blocking code:
try:
result = blocking_read()
on_result(result)
except SomeError as e:
on_failure(e)
The blocking analog of the addCallbacks() call could be:
try:
result = blocking_read()
except SomeError as e:
on_failure(e)
else:
on_result(result) # on_failure() is not called
- lvh 13y agoOops! Good catch :)