⊗jsrxPmSDCl 44 of 57 menu

Kliendi rakendus Reduxis

Eelmistel tundidel me praktiliselt lõpetasime serveripoole töö meie rakenduse jaoks, me täiendame seda veidi vastavalt vajadusele järgmistes tundides. Nüüd peame looma rakenduse kliendi, mis saadab HTTP-päringud serverisse.

Avame oma tooterakenduse ja kaustas api loome faili client.js. Alustuseks kirjutame funktsiooni client, mis töötab nii GET kui ka POST päringute jaoks. Parameetritena saab see tee, päringu tüübi ja keha (POST puhul), kui see on olemas:

export async function client(url, method, body = {}) {}

Järgmisena peame moodustama objekti options, kus edastame erinevat teavet päringu jaoks. See on päringu tüüp ja päised:

export async function client(url, method, body = {}) { const options = { method: method, headers: { 'Content-Type': 'application/json', }, } }

Atribuut body on meil valikuline, me peame seda edastama, kui meil on POST-päring. Selleks lisame client sisse pärast options objekti koodi selle options sisse koos päringu kehaga JSON-vormingus, kui valitud on meetod POST:

if (method === 'POST') { options.body = JSON.stringify(body) }

Seejärel korraldame allpool client koodis ploki try, mille esimesel real kasutame fetch, et saada vastus serverilt. Ebaõnnestumise korral tagastame traditsiooniliselt promisi koos veaga:

let data try { const response = await window.fetch(url, options) } catch (err) { return Promise.reject(err.message ? err.message : data) }

Nüüd lõpetame koodi kirjutamise plokis try. Pärast response saamist peame seda töötlema. Võtame sealt andmed JSONina ja kui vastuse staatus annab märku, et kõik on korras, siis tagastame objekti andmete ja infoga: staatus, päised ja aadress. Kui staatus ei ole 'ok', viskame erindi staatuse tekstiga:

try { const response = await window.fetch(url, options) data = await response.json() if (response.ok) { return { status: response.status, headers: response.headers, url: response.url, data, } } throw new Error(response.statusText) }

Funktsiooni client kood on meil valmis, jääb ainult kirjutada, kuidas meie meetodid GET ja POST töötavad väljakutsumisel. Kirjutame nende jaoks koodi pärast funktsiooni client. Meetod client.get võtab parameetrina tee ja kutsub funktsiooni client, edastades selle tee ja päringutüübi GET:

client.get = (url) => client(url, 'GET')

Ja client.post peab edastama client jaoks tee, päringutüübi POST ja päringu keha:

client.post = (url, body) => client(url, 'POST', body)

Sellega on kõik, meie väike klient on valmis töötamiseks serveriga.

Avage oma õpilaste rakendus, looge selles kaustas api fail client.js. Tutvuge tunnimaterjalidega ja kirjutage (kopeerige) funktsiooni client ja selle kahe meetodi client.get ja client.post kood.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu