Sobes.tech
Middle

როგორ მუშაობს Promise JavaScript-ში?

sobes.tech AI

პასუხი AI-სგან

  • ობიექტი, რომელიც წარმოადგენს ასინქრონული ოპერაციის შესაძლო საბოლოო დასრულებას (ან წარუმატებლობას) და მისი შედეგის მნიშვნელობას.
  • პრომის მდგომარეობები:
    • pending: საწყისი მდგომარეობა, არც შესრულებული, არც უარყოფილი.
    • fulfilled: აღნიშნავს, რომ ოპერაცია წარმატებით დასრულდა.
    • rejected: აღნიშნავს, რომ ოპერაცია დასრულდა შეცდომით.
  • pending მდგომარეობიდან fulfilled ან rejected მდგომარეობაში გადასვლა ხდება მხოლოდ ერთხელ და უკუგანვითარებადი.
  • მეთოდები:
    • .then(onFulfilled, onRejected): იღებს ორი callback ფუნქციას. პირველი (onFulfilled) გამოიძახება წარმატების შემთხვევაში, მეორე (onRejected) შეცდომის შემთხვევაში. ორივე არგუმენტი ოპციონალურია. აბრუნებს ახალ პრომისს.
    • .catch(onRejected): მოკლე ფორმა .then(null, onRejected). გამოიყენება შეცდომების მართვისთვის. აბრუნებს ახალ პრომისს.
    • .finally(onFinally): გამოიძახება დამოუკიდებლად პრომის შედეგის (წარმატება ან შეცდომა) მიუხედავად. სასარგებლოა რესურსების გასუფთავებისთვის. აბრუნებს ახალ პრომისს.
  • პრომის შექმნა:
new Promise((resolve, reject) => {
  // ასინქრონული ოპერაცია
  const success = true;
  if (success) {
    resolve("ოპერაცია წარმატებით დასრულდა!"); // გადასვლა `fulfilled` მდგომარეობაში
  } else {
    reject("რაღაცა მოხდა..."); // გადასვლა `rejected` მდგომარეობაში
  }
});
  • პრომისების ჯაჭვური გაერთიანება: .then(), .catch(), .finally() აბრუნებენ პრომისებს, რაც საშუალებას იძლევა შექმნათ ჯაჭვები ასინქრონული ოპერაციების თანმიმდევრობით შესრულებისთვის.
fetch(url)
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('შეცდომა:', error));