برنامه نویسی

Javascript Promis – انجمن DEV

توضیحات تصویر

وعده های جاوا اسکریپت یکی از راه های راحت برای مدیریت عملیات ناهمزمان است. وعده ها بیانگر ارزش هایی هستند که ممکن است در آینده محقق شوند یا شکست بخورند. آنها برای مدیریت نتایج عملیات ناهمزمان و کاهش مشکلات مربوط به توابع برگشت تماس استفاده می شوند.

میز وعده

توضیحات تصویر

نوید یاراتیش

یک سازنده Promise برای ایجاد یک وعده در جاوا اسکریپت استفاده می شود.

let myPromise = new Promise((resolve, reject) => {
    let success = true; // Bu yerda sizning asinxron operatsiyangiz bo'lishi mumkin

    if (success) {
        resolve("Bu operatsiya muvaffaqiyatli tugadi!");
    } else {
        reject("Bu operatsiya muvaffaqiyatsiz tugadi.");
    }
});

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توابع حل و فصل و رد وعده های جاوا اسکریپت برای کنترل نتیجه عملیات ناهمزمان استفاده می شود.

برطرف کردن

تابع حل زمانی فراخوانی می شود که وعده با موفقیت اجرا شود. این تابع یک مقدار را به عنوان آرگومان می گیرد و سپس این مقدار به متد .then() ارسال می شود.

let Promise = new Promise((resolve, reject) => {
    let success = true; // Bu yerda sizning asinxron operatsiyangiz bo'lishi mumkin

    if (success) {
        resolve("Bu operatsiya muvaffaqiyatli tugadi!");
    }
});

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در مثال بالا، اگر متغیر موفقیت درست باشد، تابع Resolution فراخوانی می شود و “این عملیات با موفقیت انجام شد!” ارزش خود را منتقل می کند.

خروجی نتیجه در cansole.log از طریق متد then:

Promise.then((result) => {
    console.log(result); // "Bu operatsiya muvaffaqiyatli tugadi!" ni cansole.log da chiqaradi
});

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

رد کردن

تابع reject زمانی فراخوانی می شود که وعده ناموفق باشد. این تابع اطلاعات مربوط به یک خطا یا شکست را به عنوان آرگومان می گیرد و سپس این مقدار به متد ()catch ارسال می شود.

let mPromise = new Promise((resolve, reject) => {
    let success = false; // Bu yerda sizning asinxron operatsiyangiz bo'lishi mumkin

    if (!success) {
        reject("Bu operatsiya muvaffaqiyatsiz tugadi.");
    }
});

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در مثال بالا، اگر متغیر موفقیت نادرست باشد، تابع reject فراخوانی می شود و “این عملیات انجام نشد.” ارزش خود را منتقل می کند.

mPromise
    .then((result) => {
        console.log(result); // Bu yerga kirmaydi keyingi blockga o'tadi
    })
    .catch((error) => {
        console.error(error); // "Bu operatsiya muvaffaqiyatsiz tugadi." ni cansole.logda chop  etadi
    });

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیحات تصویر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا