@mavica_again async is supposed to be able to do this but since the runtime is all mysterious and entirely done via the browser there's no way to ensure the kind of granularity that rust tokio can for example
@mavica_again oh oops blocking yeah i think so
@hipsterelectron i wish i could tell it not to be blocking like "hey generate this image and then update the DOM whenever it's done" but apparently the only way to do that is threading
frankly unless you're doing http fetching i cannot think of an application for async otherwise, because pretty much everything else turns async into blocking anyway
@mavica_again it's a useful distinction when the language doesn't have a massive opaque runtime that tries and fails to hide all this from you. explicitly choosing when and where to run some code is cool but javascript has only worn the skin of its enemies as a face recently there have been very few thoughtful language features widely used by experts like rust async and stuff like destructuring assignment doesn't retain any of the underlying value model that makes it so useful in coffeescript
@mavica_again i'm a huge coffeescript fan and have been contributing to the compiler recently so please allow for personal bias
@mavica_again oh actually you're right about that last part. languages should expose a general coroutine interface—python of all places happened to do this right and it got literally nothing else right—before async and it's why there's strife about any of this at all
@mavica_again and async models created for http requests suck and produce slowdowns with e.g. local file i/o. io_uring is not exactly an answer bc it still doesn't address the latency expectations of remote network being used to optimize for every other performant use case
@hipsterelectron i love how much you clearly know about this because i'm just a dingus prodding around mdn with programming patterns firmly stuck in like 1993 or so
if you look at the source for ditherinator i think you'll have a feel for how little i'm aware of all the stuff you're saying lol
@mavica_again i got really mad about this for python and again for rust https://cfp.packaging-con.org/2023/talk/hpuhu7/ ppl are using the async marketing line bc it's being pushed by corporate monopolists who want to sell you a bridge. [said in tones of immense disdain for my foes but also respect for other similarly minded practitioners] but i am an educator
@mavica_again oh wow ditherinator is pretty cool. i was thinking of a similarish interface for https://github.com/cosmicexplorer/dmcaction which will never happen bc ffmpeg wronged me and also bc wasm is cursed by google to only be useful for monopoly and not for threatening google's bottom line which requires owning the entire web platform (i can elaborate) and the interface was gonna look similar if i actually made it
@hipsterelectron far less recreational applications than the doofy little stuff i write lol