¿Async / await blocks event loop? [duplicar

Esta pregunta ya tiene una respuesta aquí:

Async / await bloquea un hilo node.js 5 respuestas En JavaScript, ¿el uso de `await` dentro de un bucle bloquea el bucle? 4 respuestas

Estaba leyendo No bloquee el bucle de eventos de la guía Node.js. Había una línea que decía:

Debes asegurarte de nunca bloquear el bucle de eventos. En otras palabras, cada una de sus devoluciones de llamada de JavaScript debe completarse rápidamente. Por supuesto, esto también se aplica a suawait 's, tuPromise.then 's, y así sucesivamente.

Empecé a preguntarme, ¿qué pasaría si, alguna llamada de API a la base de datos que soyawaiting está tardando un tiempo en resolverse, ¿eso significa que he bloqueado el bucle de eventos con esaawait ¿llamada

Después de eso, comencé a probar algunos códigos escritos por mí mismo, pero después de la prueba todavía no tengo claro cómo bloquear a través deawait trabajos. Aquí hay algunos códigos de prueba:

Asumiendo, que estoy usando express para probar. Entiendo por qué hacer 2 llamadas API a la/test route bloquea el bucle de eventos en este caso.

function someHeavyWork() {
  // like calling pbkdf2 function
}

app.get('/test', (req, res) => {
  someHeavyWork();
  res.json(data);
});

Pero eso no sucede en este caso.

function fakeDBCall() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve(data);
    }, 5000)
  })
}

app.get('/test', async (req, res) => {
  const data = await fakeDbCall();
  res.json(data);
})

Esto puede deberse a mi falta de comprensión de cómo funciona el bloqueo en el caso deasync/await.

Respuestas a la pregunta(3)

Su respuesta a la pregunta