Sobes.tech
Middle

Ar galima prie .catch() pridėti .then()?

sobes.tech AI

Atsakymas iš AI

Taip, galite pridėti .then() prie .catch(). JavaScript pažadų (Promises) grandinėje, .then() ir .catch() metodai grąžina naują pažadą, todėl galima kurti sekcinius iškvietimus.

Pavyzdžiui:

fetch('/api/data')
  .then(response => response.json())
  .catch(error => {
    console.error('Klaida:', error);
    return { fallback: true };
  })
  .then(data => {
    console.log('Duomenys:', data);
  });

Šiame pavyzdyje, jei įvyksta klaida, ji bus apdorota .catch(), o sekantis .then() bus vykdomas su .catch() rezultatu. Tai naudinga klaidų valdymui ir grandinės tęsimui su alternatyviais duomenimis.