【问题标题】:Async Await firestore user id异步等待 Firestore 用户 ID
【发布时间】:2019-04-20 13:38:58
【问题描述】:

我在一个数组对象中有一组 Firestore 用户 ID。我怎样才能循环 通过 userid 数组并从 firestore 数据库中获取每个用户的用户名。我如何使用 async await Java Script ES8 来实现这一点

常量数组 =["id1","id2"]

【问题讨论】:

    标签: reactjs react-native google-cloud-firestore


    【解决方案1】:

    也许这会奏效。

    const array=["id1","id2",...]//array of ids 
    async function fetchData(){
      array.map(id=>{
        await fetch(<call to database using the id).then(res=>{//OK})
          .catch(err=> {not ok})
      })
    }
    

    Async await 是使用此类异步函数的一种更简洁的方式。

    【讨论】:

    • 这不会编译,因为您在非异步函数中使用 await(您作为 lambda 传递给 map 的函数)。
    • @Thakur karthik 你认为我们如何做到这一点?而且我们不是必须在每次 Firestore 数据库调用后都返回一个 Promise,否则数据将永远无法解析
    【解决方案2】:

    您可以在循环中使用 async/await,如下所示。

    const array=["id1","id2",...]
    
    
    fetchData = () => {
      array.forEach(async (id) => {
        try {
          await res = fetch(id)
          // Do something with your res 
        } catch (err) {
          console.log(err)
        }
      })
    }
    

    【讨论】:

      猜你喜欢
      • 2018-05-04
      • 2020-10-17
      • 2020-10-20
      • 1970-01-01
      • 1970-01-01
      • 2020-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多