Async.js was designed for Node.js in 2010. I never used async.js because you have Promises for long time and you can polyfill them.
Now async/await is natively supported in web and Node.js, so your heavy "promised" code can look a bit cleaner now. Answer is the same, there was never a real need of async.js.
Nothing stops developers of async.js add public methods using async/await calls by enhancing the current API. So in that case I don't think there is a need to argue.
IMO, async.js is not yet obsolete. It has some well-developed methods to deal with async functions in various scenarios easily.
Sure, many of its solutions can be rebuild by mixing and matching promises and async/await functions, but you have not always all the time and resources available to do so.
Personally, I don't use async.js because it adds the whole lodash project as a dependency which I don't use.
Lorefnon
Open Web Enthusiast
No, async.js can be considered to be obsolete at this point.
Unless you have to deal with legacy code with callbacks, you can forgo async.js.