How to correctly obtain the status of fetch?
P粉124070451
P粉124070451 2023-09-08 18:25:24
0
1
476

I'm doing a fetch in my api and it returns a 201 status, but when I try to receive it in a variable, the status becomes weird.

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 { : "fulfilled", : 201 }' }

P粉124070451
P粉124070451

reply all (1)
P粉509383150

If you wantstatusto be equal to the result ofVerify, you need toawaitit.

const status = await Verify(test);

Additionally, I recommend refactoring your code to useawaiteverywhere to simplify the process. Try something like this:

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; }
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template
    About us Disclaimer Sitemap
    php.cn:Public welfare online PHP training,Help PHP learners grow quickly!