Except that isn’t what the article talks about. And instead of actually comparing the benefits and disadvantages of using async/promises versus callbacks, the author merely touched the surface of how to overcome the issues with callbacks. The whole article is actually about how callbacks aren’t that bad.
In reality callbacks aren’t that bad, but they provide for configuration overhead. Sure there are some ways to get around that, and the author shared some of those, but there are actually much more. For instance, just stick your callback in class with an interface, and have interfaces drive functional programming instead. Using an interface is much cleaner and allows grouping like code together.
The reason why the author is seeing so many wrong articles:
but a lot of articles I read about async in JavaScript, especially those that came out around the time ES2015 (ES6) was new, are just plain wrong.
Is probably because there are many wrong articles, but also there are many right articles, and he it seems that he is trapped in believing the javascript code of the past was the holy grail and we should discard the future.
We also never find out what was so wrong in the first place. I actually wanted to know. Callbacks are bad, because they are headless anonymous code which is frequently overused, convention-based, and creates actual difficulties in code architecture, cleanliness, and understanding of any javascript code you write. I’m hard pressed to find any situation where callbacks are actually better than promises or async promises.