cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk mendapatkan status pengambilan dengan betul?

Saya sedang melakukan pengambilan dalam api saya dan ia mengembalikan status 201, tetapi apabila saya cuba menerimanya dalam pembolehubah, statusnya menjadi pelik.

useEffect(() => {
async function Verify (test) {
 await fetch("/api/test", {
  method: "POST", 
  headers: {
   'Content-Type': 'application/json',
  },
  body: JSON.stringify({test: test}),
 }).then((response) => {
  res = response.status; 
  console.log(res); //thats print '201'
  return res;
 });
}
const status = Verify(test);
console.log(status); //thats print 'Promise { <state>: "fulfilled", <value>: 201 }'

}

P粉124070451P粉124070451527 hari yang lalu606

membalas semua(1)saya akan balas

  • P粉509383150

    P粉5093831502023-09-09 09:45:31

    Jika anda mahu status等于Verify的结果,您需要await ia.

    const status = await Verify(test);

    Selain itu, saya syorkan pemfaktoran semula kod anda untuk digunakan await di mana-mana sahaja untuk memudahkan proses. Cuba sesuatu seperti ini:

    async function Verify (test) {
      const res = await fetch('/api/test', {
        method: 'POST', 
        headers: {
         'Content-Type': 'application/json',
        },
        body: JSON.stringify( { test } ),
      });
      
      if (!res.ok) {
        throw new Error('Not-ok response from server');
      }
    
      return res;
    }

    balas
    0
  • Batalbalas