Javascript 如何将JS循环变量传递到FireStore get

Javascript 如何将JS循环变量传递到FireStore get,javascript,firebase,google-cloud-firestore,Javascript,Firebase,Google Cloud Firestore,我试图在for循环期间将一个变量传递到firebase数据库中,但是它在每个循环中返回相同的值,我在代码中对此进行了注释,问题就发生在这里 var countElements=document.queryselectoral(“[data voteCount]”); 函数display(){ 对于(i=0;i

我试图在for循环期间将一个变量传递到firebase数据库中,但是它在每个循环中返回相同的值,我在代码中对此进行了注释,问题就发生在这里

var countElements=document.queryselectoral(“[data voteCount]”);
函数display(){
对于(i=0;i

我就是这样写的:

async function displayVotes() { 

  const countElements = document.querySelectorAll("[data-voteCount]");

  for (let i = 0; i < countElements.length; i++) {
    const elementID = countElements[i].dataset.votecount;
    const id = `Votes/product-${elementID}`;
    const docSnapshot = await firestore.doc(id).get();
    if (docSnapshot.exists) {
      console.log(`document exists: ${elementID}`);
    } 
    else {
      console.log(`document not found: ${elementID}`);
    }
  }
}
异步函数displaydowes(){
const countElements=document.queryselectoral(“[data voteCount]”);
for(设i=0;i

我转换为
asyncwait
语法,因此您可以更好地控制事情发生的时间。缺点是您将得到瀑布式执行,将进行一次调用,然后进行另一次调用,依此类推。。。如果您想让它们并行运行,可以使用
Promise.all()

为什么不尝试使用async/await而不是.then()?您是否检查了是否获得了正确的值countElements@MuthuThavamani就这样!谢谢@索纳利:是的,他们都挺过来了好吧,看看下面的答案:)太棒了!这是现场,干净多了!我会研究一下这个承诺,但没有必要在这个项目上同时进行。非常感谢你的帮助!