我是 TypeScript 和一般模块的新手。这是一个文件/模块,我需要一些关于到底发生了什么的指导:
export default function MyAdapter (client: Pool): AdapterType {
return {
async foo (
bar: barType
): Promise<returnType> {
...
return Promise<returnType>;
},
async myFunc ({
param1,
param2
}: {
param3: string
param4: string
}): Promise<returnType2> {
...
return Promise<returnType2>;
},
}
}
我正在导入并尝试做这样的事情:
import MyAdapter from "./adapter";
const pool = new Pool(...);
export default async function handler() {
const val = await MyAdapter(pool).foo(bar);
....
}
但我收到以下 TypeScript 错误:
Object is possibly 'undefined'.
Cannot invoke an object which is possibly 'undefined'.
我很确定我做错了,因为我不了解 TypeScript 的基本知识或模块的工作方式。
另外,如何在顶部返回块中使用嵌套函数声明 Adapter 函数的符号是什么?
Typescript 中导出和导入模块与 JavaScript 相同。但您需要指定您尝试在另一个文件中导入的模块不能是
undefined
的类型。