Digamos que tenemos dos funciones asíncronas así:
const getUrl = async () => ...logic const getName = async () => ...logicy luego quiero definir un objeto cuyos valores de las claves son estas funciones como:
const defineObject = async() => { const obj = { url: await getUrl() name: await getName() } } ¿Se comportará esto como lo hace generalmente JS donde espera que la primera función asíncrona ejecute getUrl() y luego ejecuta la segunda función asíncrona getName() , o las ejecuta en paralelo?
No, no funcionarán en paralelo. Cada uso de await se convierte en getXXX().then() , con el código posterior colocado en la función de devolución de llamada .then() .
Si quiere hacer eso, puede usar Promise.all() .
const [url, name] = await Promise.all([getUrl(), getName()]); const obj = {url, name};