Promise.all(), Promise.race(), and Promise.any()

What common use case does Promise.race() solve here?
async function timeout(promise, ms) {
  return Promise.race([
    promise,
    new Promise((_, reject) =>
      setTimeout(() => reject(new Error('Timeout')), ms)
    )
  ]);
}
Next Question (7/20)