You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The result deferred `d` may end up in an error state when `(f)` throws an exception or returns an
error deferred. Now since the cancellation callback was only attached via `d/chain` for
side-effect (i.e. the resulting deferred is not returned), the dropped error detection would be
triggered in this case. The fix is simply to also attach an error handler with `d/on-realized`.
Furthermore, putting the result deferred in an error state would not have cancelled the timer
because there was no error handler attached to it. This is now also fixed and the tests are extended
to cover the cancellation API, too.
The latter uncovered an oversight in the mock clock implementation where the `in` method didn't
return a cancellation function, resulting in an NPE. This is now also fixed.
0 commit comments