Async/Await Syntax
What will happen if the promise takes longer than ms milliseconds?
async function timeout(promise, ms) {
const timeoutPromise = new Promise((_, reject) => {
setTimeout(() => reject(new Error('Timeout')), ms);
});
return await Promise.race([promise, timeoutPromise]);
}