Understanding JavaScript Promises
Nicholas C. Zakas
Understanding JavaScript Promises - Community Edition