【发布时间】:2023-01-03 04:01:22
【问题描述】:
我目前在 SvelteKit 应用程序的 hooks.ts 文件中使用以下内容:
export async function handle({ event, resolve }) {
console.log(event.locals) //<-- Works fine
}
我试图弄清楚如何在 event 和 resolve 参数上使用类型。据我所知,event 是这样工作的:
import type { RequestEvent } from '@sveltejs/kit'
export async function handle(event: RequestEvent, resolve: ???){
...
}
但是我不知道如何输入 resolve 参数。 docs here 显示:
interface Handle {
(input: {
event: RequestEvent;
resolve(
event: RequestEvent,
opts?: ResolveOptions
): MaybePromise<Response>;
}): MaybePromise<Response>;
}
根据我有限的 TypeScript 知识,看起来 resolve 是一个带有两个返回承诺的参数的函数。但是如何在handle 函数声明中写出来呢?
【问题讨论】:
-
您键入参数的尝试不会起作用,因为该函数只有一个具有多个属性的参数。如果参数包含大括号,则意味着它会立即被解构。
标签: typescript svelte sveltekit