¿Cómo encadenar un Promise.all con otras Promesas?

Quiero ejecutar mi código en el siguiente orden:

Promesa 1Espere a que se haga 1, luego haga Promesa 2 + 3 al mismo tiempoLa función final espera a que se realice la promesa 2 + 3

Tengo algunos problemas para resolverlo, mi código hasta ahora está debajo.

function getPromise1() {
  return new Promise((resolve, reject) => {
    // do something async
    resolve('myResult');
  });
}

function getPromise2() {
  return new Promise((resolve, reject) => {
    // do something async
    resolve('myResult');
  });
}

function getPromise3() {
  return new Promise((resolve, reject) => {
    // do something async
    resolve('myResult');
  });
}

getPromise1()
.then(
  Promise.all([getPromise2(), getPromise3()])
  .then() // ???
)
.then(() => console.log('Finished!'));

Respuestas a la pregunta(2)

Su respuesta a la pregunta