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