Promises solve problems related to asynchronous processing, but there are no (there can be no) guarantees regarding relative order of execution of *separate* promises (whether chained or not), as the logged output at the bottom of the page will demonstrate. The 'all()' method of the Promise object does allow for coordinating multiple separate promises (rather than chaining them), but it still provides no guarantees regarding relative order of execution.