Asynchronous programming is essential to the modern web and at last JavaScript programmers have the tools to do the job - the Promise object and the async and await commands. These are so elegant in their design that you need to know about them if only to be impressed. It is likely that other languages will incorporate similar facilities in the future. While async and await make asynchronous code as easy to use as synchronous code there are a lot...