Promises & then/catch

What Promise pattern does this code implement?
function timeout(promise, time) {
  return Promise.race([
    promise,
    new Promise((_, reject) =>
      setTimeout(() => reject(new Error('Timeout')), time)
    )
  ]);
}
Next Question (12/21)