When writing asynchronous code, it is possible to create subtle race condition bugs. Consider the following example: let totalLength = 0; async function addLengthOfSinglePage(pageNum) { totalLength += await getPageLength(pageNum); } Promise.all([addLengthOfSinglePage(1), addLengthOfSinglePage(2)]).then(() => { console.log('The combined length of both pages is', totalLength); }); This code looks li