10. Making promises

Asynchronous operations are common in JavaScript. To simplify working with them, a special feature was introduced to the language long ago — promises.