Javascript Firestore set()突然不在then语句中返回,也不添加文档

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

有些Firestore.set()函数突然不起作用——它们在then语句中没有做任何事情,如果格式化为async/await,则“await”之后没有代码执行。未向Firestore添加任何文档

首先从Firestore文档中获取:

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

}