Sobes.tech
Junior

Kur geriausia atlikti užklausas į backend?

sobes.tech AI

Atsakymas iš AI

Geriausias būdas atlikti užklausas į backend'ą yra naudoti asinchroninius metodus kode:

  1. Kliento pusėje (naršyklėje):

    • Naudojant fetch API arba biblioteką kaip Axios.
    • Tinka naudotojo sąveikai, dinamiškam duomenų įkėlimui, formų siuntimui.
    • Leidžia kurti SPA (Single Page Applications).
    • Įgyvendinama JavaScript/TypeScript.
    // Pavyzdys su fetch
    async function fetchData() {
      try {
        const response = await fetch('/api/data');
        if (!response.ok) {
          throw new Error(`HTTP klaida! statusas: ${response.status}`);
        }
        const data = await response.json();
        console.log(data);
      } catch (error) {
        console.error('Klaida gaunant duomenis:', error);
      }
    }
    
  2. Serverio pusėje (pvz., naudojant SSR/SSG framework'us):

    • Framework'ai kaip Next.js ar Nuxt.js (skirti React ir Vue).
    • Duomenys gali būti gaunami statybos metu (SSG) arba kiekvieno užklausos metu (SSR).
    • Gerina SEO ir našumą (mažiau "balto ekrano"), nes puslapis renderinamas su duomenimis.
    • Padeda išvengti CORS problemų.
    • Pavyzdžiai su Next.js: getStaticProps, getServerSideProps.
    // Pavyzdys su Next.js (getServerSideProps)
    export async function getServerSideProps(context) {
      const res = await fetch('https://api.example.com/data');
      const data = await res.json();
    
      if (!data) {
        return {
          notFound: true, // 404 puslapis
        };
      }
    
      return {
        props: { data }, // perduoti duomenis kaip props komponentui
      };
    }
    

Pasirinkimas priklauso nuo reikalaujamos sąveikos, SEO poreikių, taikomos programėlės tipo (SPA, MPA) ir naudojamo framework'o. Dažnai naudojama šių metodų kombinacija.