在GetStaticProps 的 NextJs 文档中,它被编写为函数声明。如果我尝试输入此内容,如下所示:
export async function getStaticProps(): GetStaticProps {
const db = await openDB();
const faq = await db.all('SELECT * FROM FAQ ORDER BY createDate DESC');
return {props: {faq}};
}
Run Code Online (Sandbox Code Playgroud)
它不会工作,编译器告诉我
TS1055:类型“GetStaticProps”在 ES5/ES3 中不是有效的异步函数返回类型,因为它不引用 Promise 兼容的构造函数值。
另一方面,如果我使用箭头函数表达式(它应该是等效的),它确实可以工作:
export const getStaticProps: GetStaticProps = async () => {
const db = await openDB();
const faq = await db.all('SELECT * FROM FAQ ORDER BY createDate DESC');
return {props: {faq}};
}
Run Code Online (Sandbox Code Playgroud)
那么,我是否遗漏了一些明显的东西?或者我被迫使用箭头函数语法?