Nice presentation! I agree with Paulus that core.async is often overused in the ClojureScript world for the (common) situations where it's strictly suboptimal compared to promises. I would also add that core.async regrettably tries to do too many things in my opinion, i.e both providing primitives for in-memory asynchronous architectures (channels, mults, pub/sub, etc.) and facilitating writing non-blocking algorithms a.k.a 'green threading' (via the go macro) - I wish those were in 2 separate libs, this way we could use green threading with promises for instance. Having said that, it's worth noting that promises and core.async can coexist in harmony in a codebase: all it takes to compose them together is a few macros or functions to convert between channels and promises.
@piyushkatariya10405 жыл бұрын
People are still living in the past. JS supports async/await, generators from last several years.