Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.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 firebase查询上的异步/等待_Javascript_Firebase_Firebase Realtime Database_Async Await - Fatal编程技术网

Javascript firebase查询上的异步/等待

Javascript firebase查询上的异步/等待,javascript,firebase,firebase-realtime-database,async-await,Javascript,Firebase,Firebase Realtime Database,Async Await,我再次请求您在firebase问题上提供帮助。目前,我已将async/await放在我的函数之外使用快照中的数据,但仍然不起作用: database.ref('adress').once('value', (snapshot) => { snapshot.forEach(async function (childSnapshot) { const childKey = await childS

我再次请求您在firebase问题上提供帮助。目前,我已将async/await放在我的函数之外使用快照中的数据,但仍然不起作用:


        database.ref('adress').once('value', (snapshot) => {
            snapshot.forEach(async function (childSnapshot) {           
                 const childKey = await childSnapshot.key;
                 const childData = await childSnapshot.val();
                         
    });             
});



我能得到一些帮助吗?

我认为您在firebase中使用异步函数的方式是错误的

你应该这样用

async funcion getAdress(){
  try{
     const snapshot = await database.ref('adress').once('value');

     snapshot.foreach();
  }catch(err){
     console.error(err);
  }
  
}


我不确定我是否完全理解了您的问题,但是使用示例作为起点,我们可以重新编写代码以使用wait而不是then

var docRef = db.collection("cities").doc("SF");
try {
  var doc = await docRef.get()

  if (doc.exists) {
    console.log("Document data:", doc.data());
  } else {
    // doc.data() will be undefined in this case
    console.log("No such document!");
  }
} catch (err) {
    console.log("Error getting document:", error);
}

如何从中获取``snapshot.value()```呢?