我正在尝试使用nextjs的getInitialProps方法检索文档。但是,它返回的状态为“待定”的Promise。这是我的代码:
static async getInitialProps(context) {
const { id } = context.query;
await db
.collection('clients')
.doc('JJqyDI8a1ILqnqmp2gcO')
.get()
.then(doc => ({
data: doc.data(),
}));
console.log(data); // logs pending
return {
client: data,
};
}
我似乎也找不到任何例子。
答案 0 :(得分:0)
所有异步函数都返回一个Promise。
我看不到您如何访问data
,因为当您console.log时,它已经超出范围。
执行以下操作:
static async getInitialProps(context) {
const { id } = context.query;
const data = await db
.collection('clients')
.doc('JJqyDI8a1ILqnqmp2gcO')
.get()
.then(doc => ({
...doc.data(),
}));
return {
client: data,
};
}
这应该使props.client