Javascript Firestore set()突然不在then语句中返回,也不添加文档
有些Firestore.set()函数突然不起作用——它们在then语句中没有做任何事情,如果格式化为async/await,则“await”之后没有代码执行。未向Firestore添加任何文档 首先从Firestore文档中获取:Javascript Firestore set()突然不在then语句中返回,也不添加文档,javascript,firebase,google-cloud-firestore,Javascript,Firebase,Google Cloud Firestore,有些Firestore.set()函数突然不起作用——它们在then语句中没有做任何事情,如果格式化为async/await,则“await”之后没有代码执行。未向Firestore添加任何文档 首先从Firestore文档中获取: export function addProfileToDB(advisor, uid, state) { firebaseDB.collection("users").doc(uid).set(profile) .then(functio
export function addProfileToDB(advisor, uid, state) {
firebaseDB.collection("users").doc(uid).set(profile)
.then(function(docRef) {
console.log("User added with ID: ", docRef.id) // never fires
})
.catch(function(error) {
console.error(error) // never fires
})
}
尝试了一个洛杉矶:
在相同的设置中使用add()和read函数可以很好地工作,但在本例中我需要指定文档id(uid)。想法?您可以使用try-catch块包装异步/等待版本。 调用addProfileToDB的代码也是如此(您也应该等待它)。 也许你会看到一些东西
如果是触发addProfileToDB的云函数,您是否查看firebase控制台上的日志?这最终是由于在addProfileToDB的同时调用了注销用户函数。虽然addProfileToDB不需要登录的用户,但由于某种原因,中断导致集合无法通过。我将注销用户功能移到稍后启动,现在所有功能都按预期工作。谢谢大家的帮助
export async function addProfileToDB(profile, uid, state) {
const docRef = firebaseDB.collection("users").doc(uid)
console.log(docRef) // returns correctly
await docRef.set(profile)
console.log('added') // never happens
}