3 ms·
Regarding your second point: This sounds similar to .NET‘s CancellationToken. It works very well there. What are those nuances in JavaScript which aren’t handl
by zer 6y ago
Regarding your second point: This sounds similar to .NET‘s CancellationToken. It works very well there.
What are those nuances in JavaScript which aren’t handled by it?
- 0xff00ffee 6y agoI think you're going to point out that I'm about to demonstrate non-JavaScript nuances, but here are issues I've encountered: Let's take a great of example of where promises are used most often: AJAX. If the endpoint isn't RESTful and there is state on the other end, cancelling a promise requires updating the entire module of the new state. There can be multiple reasons for cancelling, and the code needs to be aware of what is happening beyond a simple timeout. Same thing goes for USB devices (via libusb+ffi) and serial-ports (via serialport). In flight requests can disturb state if cancelled, and it makes the programming very complex to just time-out. One could argue AJAX and hardware programming are outside the domain of JavaScript, but I wouldn't. I guess it is more than a "nuance", it is the observance that cancelling an asynchronous operation in general can have unintended consequences if not handled correctly ... beyond memory leaks from unresolved promises.