Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 返回快照firestore JS中的文档ID_Javascript_Firebase_Google Cloud Firestore - Fatal编程技术网

Javascript 返回快照firestore JS中的文档ID

Javascript 返回快照firestore JS中的文档ID,javascript,firebase,google-cloud-firestore,Javascript,Firebase,Google Cloud Firestore,我对编码和Firestore还不熟悉,因为某些原因,我不能正确使用它。 我想返回doc.id,但我得到的输出是未定义的,似乎没有返回任何数据 控制台日志(doc.id)的输出是 ID的输出是未定义的 const getProductDocId = async (productName1) =>{ try{ const ID = await firestore().collection('product').where('productName' ,'==', productNa

我对编码和Firestore还不熟悉,因为某些原因,我不能正确使用它。 我想返回
doc.id
,但我得到的输出是未定义的,似乎没有返回任何数据

控制台日志(doc.id)的输出是
ID
的输出是未定义的

const getProductDocId = async (productName1) =>{
  try{
    const ID = await firestore().collection('product').where('productName' ,'==', productName1).get().then(snapshot=>{
      snapshot.docs.every(doc => {
        console.log(doc.id + " THIS is DOC.ID")
        return doc.id
      })
    })
    
    console.log(ID)
 
   }catch(error){
     console.log("Error @ Get Prdocut ID  " + error)
   }finally{
     console.log(ID)
   }
 } 


您以错误的方式应用了
等待
。如果
Promise
被传递给
wait
表达式,它将等待
Promise
得到满足,并返回满足的值

try {
  const snapshot = await firestore()
    .collection("product")
    .where("productName", "==", productName1)
    .get();
  let id = null;
  snapshot.docs.every((doc) => {
    console.log(doc.id + " THIS is DOC.ID");
    id = doc.id;
  });
  console.log(id);
} catch (error) {
  console.log("Error @ Get Prdocut ID  " + error);
} finally {
  console.log(id);
}