Today I Learned - Rocky Kev

TIL cancelling promises

POSTED ON:

TAGS:

I was debugging a strange promise statement, and I needed to force cancel the promise.

There is a cross-platform (Node, Browsers, etc) cancellation primitive called AbortController. You can use it to cancel functions that return promises rather than promises themselves.

const controller = new AbortController();

const task = new Promise((resolve, reject) => {
//...
controller.signal.addEventListener("abort", () => {
reject();
});
});

controller.abort();

via StackOverflow

The AbortController interface represents a controller object that allows you to abort one or more Web requests as and when desired.

MDN - AbortController


Related TILs

Tagged:

TIL what is npm Script

Despite their high usage they are not particularly well optimized and add about 400ms of overhead. In this article we were able to bring that down to ~22ms.

TIL fancy methods to transform Javascript Objects

You can use Object.entries(), Object.keys(), Object.fromEntries()...

TIL how to hide your JS code

ONE THING TO NOTE: Encrypting a script is stronger than obfuscation, both methods are still not adequate to protect secret content. Honestly, I don't think it's worth it on a production site, and instead just go with pure server-side if you want security. But it's fascinating.