autobahn-js
autobahn-js copied to clipboard
Support call cancelling via AbortController
Currently, call cancelling is implemented with a simple cancel()
method on the returned Promise object. This is not perfect for the following reasons:
- The
cancel()
method is "lost" after calling.then()
on the promise - when calling
cancel()
, it is impossible to specify thereason
with which the original promise will get rejected, so one must experiment/look in the library code to see that it is always anew Error("Cancelled")
I think it would be fairly easy to implement this: https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal#implementing_an_abortable_api
(I don't know if this is relevant, but @types/autobahn
will need to get updated anyways, too, as it doesn't declare the cancel()
method, and wouldn't have the AbortSignal
parameter either)