【问题标题】:SvelteKit externalFetch function in hooks never gets called钩子中的 SvelteKit externalFetch 函数永远不会被调用
【发布时间】:2022-02-17 19:58:41
【问题描述】:

我正在尝试修改外部 API 的获取请求以包含自定义标头。在尝试了多件事之后,我在文档中看到了 externalFetch ,这似乎是为了修改请求,但问题是它永远不会被调用。我错过了什么?

export async function externalFetch(request) {
    request.headers['authorization'] = 'HMAC 12.33';
    console.log('hook headers', request);
    request = new Request(
        request
    );

    return fetch(request);
}

【问题讨论】:

标签: javascript svelte sveltekit


【解决方案1】:

您必须使用 sveltekit 通过 load 函数为您提供服务的 fetch 函数才能触发 externalFetch,以下是 sveltekit 文档中的示例:

<!-- src/routes/blog/[slug].svelte -->
<script context="module">
    /** @type {import('@sveltejs/kit').Load} */
    export async function load({ params, fetch, session, stuff }) {
        const response = await fetch(`https://cms.example.com/article/${params.slug}.json`);

    return {
        status: response.status,
        props: {
            article: response.ok && (await response.json())
            }
        };
    }
</script>

【讨论】:

    猜你喜欢
    • 2013-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-30
    • 2017-12-17
    • 2018-09-02
    • 2018-01-07
    相关资源
    最近更新 更多