首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Promise从不在Svelte API端点中求值

问Promise从不在Svelte API端点中求值
EN

Stack Overflow用户
提问于 2021-10-04 13:06:13
回答 1查看 168关注 0票数 0

我已经用Svelte编写了一个应用程序接口端点,它应该有助于从基于Prisma.io对象关系管理的数据库中获取大量对象。

API端点位于routes/api/[slug].json.ts,包含一个get函数:

代码语言:javascript
复制
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
}

我的视图功能位于一个名为Cardview.svelte的Svelte文件中。它包含以下代码:

代码语言:javascript
复制
<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}

从其他文件导入的一些布局被省略。

这段代码的问题在于,{#await...语法从不对let objects = ..部分求值。这意味着,页面总是停留在加载阶段,而Javascript对象objects总是停留在promise中。我的代码中的问题出在哪里?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-04 17:17:18

get函数未正确返回。您需要在返回的“body”属性中返回数据:

代码语言:javascript
复制
return {
body: objects
}

使用fetch还需要一个额外的步骤:

代码语言:javascript
复制
async function obtain_objects(object_model: string) {
    const url = 'http://localhost:3000/api/' + object_model + '.json';
    const objects = await fetch(url);
    return objects.json();
  }

这里有fetch api的示例:https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69436487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档