TypeError: cannot read properties of undefined reading '2'

TypeError: cannot read properties of undefined reading '2'

我快疯了,敬请谅解。

我目前正在为我的学习编写作业。我必须使用 Svelte 框架在 Javascript 中使用异步获取方法调用 API。这就是我 app.svelte.

中的内容
<meta charset='utf-8'>
<meta name='viewport' content='width=device-width,initial-scale=1'>

<title>Sollicitatie Opdracht Volcano</title>

<link rel='icon' type='image/png' href='/favicon.png'>
<link rel='stylesheet' href='/global.css'>
<link rel='stylesheet' href='/build/bundle.css'>

<script defer src='/build/bundle.js'>
    import { onMount } from "svelte";

    const searchAnime = async () => {
        var response = await fetch('https://api.jikan.moe/v4/anime?q=jujutsu', {
            method: 'GET'
        });
        var result = await response.json();
        return result;
    }

    let aniSearchPromise = searchAnime();

</script>

<h1>API Fetching System</h1>


<main>  
{#await aniSearchPromise}
    <h2>Laden. . .</h2>
{:then data}
    <h2>{data.results[0]}</h2>
{:catch err}
    <h2>Error while loading data.</h2>
{/await}
</main>

<svelte:head>
    <title>aniAPI Test App</title>
</svelte:head>

<style>
    main {
        background-color: lavenderblush;
        font-size: 15px;
    }
    h1 {
        font-size: 25px;
    }
</style>

我在

data.results[0]

处遇到错误 我不知道如何解决这个问题,因为我看到承诺被列为已履行。 data.results[data[2]] 上是所有获取的数据。请参阅下面的屏幕截图

谁能解释发生了什么以及为什么它是未定义的?非常感谢。

您的截图中数据似乎没有名为 results 的属性。你不能直接打电话给 data[0]data[2] 吗?

data.Results 不是数组,通过查看您的对象,可能 data.Results 不存在于此处。在您的对象中,数据是一个数组,因此应该像 data[2].

一样使用它

Api 工作正常,可能您正在尝试在获取数据之前获取数据

var response = fetch('https://api.jikan.moe/v4/anime?q=jujutsu', {
  method: 'GET'
}).then(response => response.json())
.then(result => {
  console.log('Data [0] result', result.data[0]);
})