Javascript: Cómo esperar 1 segundo

Javascript: Cómo esperar 1 segundo

Para diferir la ejecución de una función por 1 segundo, envuelve la ejecución de una promesa dentro de una función y envuelve la resolución de la promesa en un setTimeout

El timer setTimeout() acepta tiempo en milisegundos (ms), de esta forma setTimeout(fn, 1000) le mencionará a JavaScript llamar a nuestra función fn luego de 1 segundo.

function delay(timeInMs) {
  return new Promise(resolve => setTimeout(resolve, timeInMs));
}

delay(1000).then(() => console.log('corre luego de 1 segundo'));

Tu podrías incluso envolver la llamada a delay en una función asíncrona para usar async/await en lugar de then().

// timeInMs tomará el valor por defecto de 1000 si ningún valor es pasado
function delay(timeInMs = 1000) {
  return new Promise(resolve => setTimeout(resolve, timeInMs));
} 

test('mi asíncrono código', async () => {
  // seteando recursos
  await delay(100); // delayamos 100 milisegundos 
 // ejecutando expectativas 
})