⊗jsrxPmSDCl 44 of 57 menu

Redux тиркемеси үчүн кардар

Өткөн сабактарда биз тиркемебиздин сервердик бөлүгү менен иштөөнү дээрлик аяктадык, кийинки сабактарда керек болгонунда аны бир аз кошумчалайбыз. Азыр бизге серверге HTTP-сурамдарды жөнөтө турган тиркеме үчүн кардарды түзүш керек.

Өнүмдөр менен тиркемебизди ачып, api папкасында client.js файлын түзөбүз. Башында биз client функциясын өзүн жазабыз, ал GET жана POST сурамдары үчүн иштейт. Ал параметрлер катары жолду, типти жана сурамнын денесин (POST учурда), эгерде бар болсо, кабыл алат:

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

Андан кийин биз ар кандай маалыматты берүү үчүн колдоно турган options объектин түзүшүбүз керек. Бул сурамдын тиби жана баштыктары болот:

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

body касиети биз үчүн опционалдуу, биз аны беребиз, эгерде бизде POST-сурам болсо. Бул үчүн client ичинде options объектисинин кодунан кийин, эгерде POST методу тандалса, аны JSON форматындагы сурам денеси менен options кошобуз:

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

Андан кийин төмөн client кодунда биз try блогун уюштурабыз, анын биринчи сабында fetch жардамы менен серверден жооп алабыз. Эгерде ийгиликсиз болсо, биз салттуу түрдө ката менен промис кайтарабыз:

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

Эми try блогундагы коду толуктайлы. response алгандан кийин, биз аны иштетишибиз керек. Андан маалыматты JSON кылып алып, эгерде жооптун статусу баары жакшы экенин билдирсе, анда маалыматтар жана информация бар объектти кайтарабыз: статус, баштыктар жана дарек. Эгерде статус 'ok' болбосо, анда статустун тексти менен исключение чыгарабыз:

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 функциясы үчүн код бизге даяр, калды жөн гана биздин GET жана POST методдор кандайча иштешин жазыш керек. Келгиле client функциясынан кийин алар үчүн код жазалы. client.get методу параметр катары жолду кабыл алып, client функциясын чакырат, ага ушул жолду жана GET сурамынын тибин берүү менен:

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

Ал эми client.post үчүн client жөнөтүшү керек: жол, POST сурамынын тиби жана сурамдын денеси:

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

Ушуну менен бүттү, биздин кичинекей кардар сервер менен иштөөгө даяр.

Студенттер менен тиркемеңизди ачыңыз, анын ичинде api папкасында файл client.js түзүңүз. Сабактын материалдары менен таанышып client функциясынын жана анын эки методунун client.get жана client.post кодуна (көчүрүп) жазыңыз.

Кыргызча
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어LietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу