Cli*_*rum 5 typescript svelte sveltekit
我目前hooks.ts在 SvelteKit 应用程序的文件中使用以下内容:
export async function handle({ event, resolve }) {
console.log(event.locals) //<-- Works fine
}
Run Code Online (Sandbox Code Playgroud)
我试图弄清楚如何在event和resolve参数上使用类型。据我所知,event工作原理如下:
import type { RequestEvent } from '@sveltejs/kit'
export async function handle(event: RequestEvent, resolve: ???){
...
}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何输入参数resolve。这里的文档显示了这一点:
export async function handle({ event, resolve }) {
console.log(event.locals) //<-- Works fine
}
Run Code Online (Sandbox Code Playgroud)
从我有限的 TypeScript 知识来看,它看起来像是resolve一个带有两个返回 Promise 的参数的函数。但是我如何在函数声明中写出它呢handle?
Jua*_*des 10
我认为你的问题是(或者应该是):“我如何告诉 TypeScript 我的函数是类型Handle?”。
我认为最简单的方法是从函数中创建一个变量,以便您可以轻松地键入它。
export const handle: Handle = async function ({ event, resolve }) {
console.log(event.locals);
}
Run Code Online (Sandbox Code Playgroud)
请注意,您不需要单独键入event或resolve,TS 已经知道您的函数的参数和返回类型。它将标记您现有的实现,因为它不会返回MaybePromise<Response>
| 归档时间: |
|
| 查看次数: |
2962 次 |
| 最近记录: |