فراخوانی اطلاعات با fetch و then در جاوا اسکریپت

سلام. من کدهای fetch رو درک نمیکنم... مثلاً خط return res.text(); به کجا و برای چی برگردانده شد. ببینید دوستان چون این نوع نوشتن تابع و برگشتی کمی متفاوت از توابع دیگه هست من کمی گیج شدم! لطفاً اگه ممکنه دوستان کمی توضیح بدید.

function getText() {
    fetch('test.txt')
        .then(function (res) {
            return res.text();
        })
        .then(function (data) {
            console.log(data);
        })
}

 

برچسب ها:
پرسیده شده در: 4 سال قبل
آمار بازدید: 1811
0

سلام دوست من امیدوارم حالت خوب باشه 

ببین برای اینکه متد fetch رو درک کنی باید با برنامه نوسی غیر همزمان در جاوا اسکریپت اشنا بشی به این خاطر که بحث fetch و متد هایی که از داخلش میاد مثله then یا catch بر میگرده به بحث promise ها توی جاوا اسکریپت که من احتمال قوی میدم شما promise هارو بلد نیستی یا درست متوجه نشدی و به همین خاطره که نمیدونی res.text از کجا اومده پیشنهاد میکنم حتما بحث promise هارو درک کنی چون متد fetch یک promise بر میگردونه که promise ی که بر میگردونه به ما اجازه ی دسترسی به متد then و catch رو میده و به متد then و catch میتونیم یک closure function پاس بدیم که پرامیس به closure function ما یه ورودی ارسال میکنه که ما اون ورودی ای که میفرسترو اسمشو میگذاریم res میتونی هر اسم دیگه بزاری مثلا response یا result یا هر نامی که دوست داری  و ورودی ای که ارسال میکنه با توجه به پرامیسی که داریم میتونه ابجکت باشه یعنی پرامیسی که fetch بر میگردونه آبجکت هستش که پاسش میده به متد then ما  و به همین دلیله که توی بخش return ما به شکل آبجکت عمل کردیم و از داخل آبجکت res متد text رو فراخونی کردیم و بعدش return کردیم دوباره تکرار میکنم برای این که کامل متوجه بشی حتما و حتما promise ها توی جاوا اسکریپت رو مطالعه و با مبحث برنامه نویسی غیر همزمان توی جاوا اسکریپت کاملا اشنا شو و بعد راجع به متد fetch مطالعه کن تا کامل دستت بیاد قضیه از چه قراره موفق باشی.

من یه لینکیرو برات میزارم که پرامیس هارو کامل توضیح داده :

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise

و راستی روکسو هم یه مقاله ی خیلی خوب داره که وقت بزار بخونش چون به زبان فارسی هستش میتونه برات راحت تر باشه که اینم لینکشه : 

https://www.roxo.ir/what-is-promise-in-react

موفق باشی.

ارسال شده در: 3 سال قبل
amiram234567 (296)
بیش از ۲ سال عضویت در روکسو بیش از ۲ سال عضویت در روکسو دارای ۲۰۰ کارما دارای ۲۰۰ کارما
جهت ارسال پاسخ ابتدا عضو سایت شوید.
اینستاگرام روکسو

روکسو در اینستاگرام

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