Quiero usar un objeto que se devuelve desde una función asíncrona.
async function myPromise() { console.log("Single-line", await getUsers().quote); let users = await getUsers(); console.log("Multi-line", users.quote); } async function getUsers() { return await new Promise((resolve, reject) => { setTimeout(() => { resolve({ name: "Jeff", id: 1, quote: "Hello world!" }); }, 1000) }); } myPromise();¿Por qué tengo que asignar el resultado de una función asíncrona a una variable antes de poder usar las propiedades almacenadas en el objeto que se devolvió?
El descriptor de acceso a la propiedad tiene prioridad sobre el operador de await , por lo que debe agregar paréntesis:
(await getUsers()).quote