توی خود جاوااسکریپت با ۳ روش میتونیم این کار رو انجام بدیم.
البته کتابخونههای اختصاصی مثل async.js, bluebird, q, co هم وجود دارن.
منبع:
https://dev.to/macmacky/70-javascript-interview-questions-5gfi