⊗jsrxPmSDCl 44 of 57 menu

Redux应用程序 üçin müşderi

Öňki sapaklarda biz programymyzyň serwer tarapyny işlemegi esasan tamamladyk, indiki sapaklarda zerurlygy ýagdaýynda ony birneme dowam etdireris. Indi biz serwere HTTP haýyşlaryny iberjek bolan programmamyz üçin müşderi dözmeli.

Önümler bilen programmamyzy açalyň we api papkasynyň içinde client.js faýlyny dözdüreliň. Ilki bilen, client funksiýasynyň özini ýazarys, ol hem GET hem-de POST haýyşlary üçin işler. Ol parametr hökmünde ýol, haýyşyň görnüşini we haýyşyň mazmunyny (POST üçin) alar, eger bar bolsa:

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

Indi biz haýyş üçin dürli maglumatlary berjek bolan options obýektini düzmelidiris. Bu haýyşyň görnüşi we ýazgylary boljak:

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

body aýratynlygy bize ýörite, biz ony haýyşymyz POST bolanda bermelidiris. Şuň üçin client funksiýasynyň içinde, options obýekti üçin koddan soň, ony options-a haýyşyň mazmuny bilen JSON formatynda goşarys, eger POST metodi saýlansa:

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

Soňra aşakda client funksiýasynyň kodunda try bloguny guramaly, onuň birinji setirinde fetch ulanyp, serwerden jogaby alarys. Ýalňyşlyk ýüze çykanda, adatdaky ýaly, ýalňyşlyk bilen bir promisi gaýtarys:

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

Indi try blogyna kody dowam etdirip ýazalyň. response alanyňyzdan soň, ony işlemelidiris. Ondan maglumatlary JSON görnüşinde alyp we eger jogabyň statusy bize her zat gowy diýip habar berýän bolsa, onda maglumatlar we maglumat bilen bir obýekti gaýtarys: status, ýazgylar we salgysy. Eger status 'ok' bolmasa, onda statusyň teksti bilen bir ýalňyşlyk çykarys:

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) }

client funksiýasy üçin kodymyz taýýar, galýar diňe GET we POST metodlarymyzyň çağırlanda nähili işlemelidigini ýazmak. client funksiýasyndan soň olar üçin kody ýazalyň. client.get metodi parametr hökmünde ýoly alyp we client funksiýasyny çagyrmaly, oňa bu ýoly we GET haýyşynyň görnüşini bermeli:

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

client.post bolsa, client üçin ýoly, POST haýyşynyň görnüşini we haýyşyň mazmunyny bermeli:

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

Şuňa çenli, kiçijik müşderimiz serwer bilen işlemäge taýýar.

Talyplyar bilen programmanyzy açyň, oňuň içinde api papkasynyň içinde client.js faýlyny dözdüriň. Sapagyň materiallary bilen tanşanyňyzdan soň (göçürip alyň) client funksiýasynyň we onuň iki metodunyň client.get we client.post koduny ýazyň.

Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et