我试图从这个函数返回一个字符串数组:
let returnArr = [];
export async function snapshotToArray() {
const db = firebase.firestore();
db.collection('userinfo').get().then(querySnapshot => {
querySnapshot.forEach(documentSnapshot => {
let id = documentSnapshot.id;
returnArr.push(id).toString();
});
console.log(returnArr);
return returnArr;
});
}
正在从该函数调用数组创建函数:
export async function getStaticPaths() {
const paths = await snapshotToArray();
return {
paths,
fallback: false
}
}
无论出于何种原因,它似乎都没有返回我在控制台中看到的内容。
这是我收到的错误:
Error: Invalid `paths` value returned from getStaticPaths in /user/[name].
`paths` must be an array of strings or objects of shape { params: [key: string]: string }
我已经尝试了很多不同的方法来做到这一点,但我似乎无法弄清楚。任何帮助表示赞赏。
似乎 snapshotToArray 函数没有返回值。
let returnArr = [];
export async function snapshotToArray() {
const db = firebase.firestore();
const querySnapshot = await db.collection('userinfo').get()
querySnapshot.forEach(documentSnapshot => {
let id = documentSnapshot.id;
returnArr.push(id).toString();
});
console.log(returnArr);
return returnArr;
}
以下 async-await 用法应该对您有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句