Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

120
Vistas
La promesa nunca se evalúa en el punto final de la API de Svelte

He escrito un punto final de API con el siguiente código en Svelte que debería ayudar a obtener una cantidad de objetos de una base de datos basada en ORM de Prisma.io.

El punto final de la API se encuentra en routes/api/[slug].json.ts y contiene una función de obtención:

 export async function get({ params }) { const { slug } = params const objects = await prisma[slug].findMany({}) objects.forEach(function (object, index: number) { object.objectId = index }) return objects }

La funcionalidad de mi vista se encuentra en un archivo Svelte, llamado Cardview.svelte . Contiene el siguiente código:

 <script lang="ts"> export let object_model: string; let title = toTitleCase(object_model); async function obtain_objects(object_model: string) { const url = 'http://localhost:3000/api/' + object_model + '.json'; const objects = await fetch(url); return objects; } let objects = obtain_objects('measurement'); </script> {#await objects} Reading from server... <Spinner size="sm" type="grow" /> {:then objects} <Container> {#each objects as v} <div class="shadow mb-5 bg-white rounded"> <Varcard variable={v} /> </div> {/each} </Container> {:catch error} There was an error in loading the JSON {object_model}. <div><span>{error.message}</span></div> {/await}

Se omitieron algunas importaciones de diseño de otros archivos.

El problema con este código es que la parte let objects = .. nunca es evaluada por la sintaxis {#await... Esto significa que la página siempre está atascada en la fase de carga y los objects de objeto Javascript siempre permanecen dentro de una promesa. ¿Dónde está el problema en mi código?

Gracias.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Su función get no regresa correctamente. Debe devolver sus datos en el atributo 'cuerpo' de su declaración:

 return { body: objects }

Usar fetch también requiere un paso adicional:

 async function obtain_objects(object_model: string) { const url = 'http://localhost:3000/api/' + object_model + '.json'; const objects = await fetch(url); return objects.json(); }

Hay ejemplos de la API de búsqueda aquí: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda