簡體   English   中英

我如何詢問取決於第一個 firebase 響應 next.js 的 Firestore 請求

[英]How can i ask a firestore request that depend on the first firebase response next.js

我想使用我在第一個查詢中收到的 uid 進行第二個 Cloud Firestore 查詢,但第二個查詢不會等待我的代碼的第一個響應

  var {data} = useSWR('/api/report', fetcher);
  var userData = [];
  for (var i = 0; i <= data ? data.length : null; i++) {
  var id = data ? data[i].uid : null;
  userData.push(useSWR(data ? '/api/${id}' : null, fetcher).data)
  console.log(data, id, userData);
  }

你可以這樣使用它:

async function doFunc(){
  var {data} = await useSWR('/api/report', fetcher);
  var userData = [];
  for (var i = 0; i <= data ? data.length : null; i++) {
    var id = data ? data[i].uid : null;
    userData.push(await useSWR(data ? '/api/${id}' : null, fetcher).data)
    console.log(data, id, userData);
  }
}

編輯:

import React, { useState } from "react";

export default function Home() {
  const [firstTime, setFirstTime] = useState(false);
  React.useEffect(async () => {
    if (!firstTime) {
      var { data } = await React.useSWR("/api/report", fetcher);
      var userData = [];
      for (var i = 0; i <= data ? data.length : null; i++) {
        var id = data ? data[i].uid : null;
        userData.push(
          await React.useSWR(data ? "/api/${id}" : null, fetcher).data
        );
        console.log(data, id, userData);
      }
      setFirstTime(true);
    }
  }, [firstTime]);

  return <div></div>;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM