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.