Tengo un service.ts que está agregando datos adicionales a los que se obtuvieron previamente de Apollo GraphQL. Pero los datos no importan. ¿Qué importa: cómo obtener el valor devuelto?
class TestService implements TestServiceInterface { public async fetch(): Promise<any> { const result = await apolloClient.query({ query: gql` query Query { Test{ test } } } } `, }) return { graphTitle: "Test", graph: "LINE", }; } } export interface TestServiceInterface { fetch(): Promise<any>; }¿Cómo obtener el valor devuelto de TestService en otro archivo .ts?
const test = TestService.fetch() export const TestState = (async () => { return await test })()y entonces:
const initialState = {state: [TestState]}me da casi lo que necesito, pero ahora en el componente que recibo (y sigue siendo un error):
Promise { "_U": 0, "_V": 1, "_W": Object { **I have correct values here** }¿Cómo tomar los valores desde el interior del objeto?
como señaló VLAZ
No puede convertir una promesa en un valor síncrono
En su código para obtener el valor dentro de la test , debe hacer lo siguiente
const test = await TestService.fetch()Consulte también el enlace proporcionado por VLAZ