Promises are by no means new to JavaScript, but their standardisation as part of ES2015 has changed them from a handy library feature to a core tool with which we can write elegant code for async functionality.