آدرس : تهران میدان فردوسی خیابان ایرانشهر بین سمیه و طالقانی مجتمع تجاری میلاد واحد 9

پشتیبانی 24 ساعته : 02188867940 – 09927674217

برای مشاهده لیست علاقه مندی ها وارد شوید!

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

هیچ محصولی در سبد خرید نیست.

خط فکری

دسته بندی :اخبار سایت 19 مارس 2023 علیرضا بابامرادی 277
خط فکری

خط فکری

همانطور که به نظر مضحک می آید برای اینکه چگونه روز خود را برنامه ریزی می کنیم و فکر می کنیم که چه کاری انجام دهیم و به چه ترتیبی انجام دهیم، با این وجود دقیقاً نحوه عملکرد مغز ما در سطح عملکردی است. به یاد داشته باشید، این چندوظیفه ای نیست، بلکه فقط تعویض سریع متن است.

دلیل اینکه نوشتن کد رویداد ناهمگام برای ما به‌عنوان توسعه‌دهنده دشوار است، به‌ویژه زمانی که تنها چیزی که در اختیار داریم، بازگشت به تماس برای انجام آن است، این است که جریان تفکر/برنامه‌ریزی آگاهی برای بسیاری از ما غیرطبیعی است.

ما به صورت گام به گام فکر می کنیم، اما ابزارها (بازخوانی ها) که در کد در دسترس ما هستند، هنگامی که از همگام به ناهمزمان حرکت می کنیم، به صورت گام به گام بیان نمی شوند.

و به همین دلیل است که نوشتن دقیق و استدلال در مورد کد JS ناهمگام با تماس‌های برگشتی بسیار دشوار است: زیرا برنامه‌ریزی مغز ما اینگونه نیست.

توجه: تنها چیزی که بدتر از ندانستن دلیل شکستن برخی کدها است، این است که ندانیم چرا در وهله اول کار می کند! این ذهنیت کلاسیک “خانه از کارت” است: “این کار می کند، اما مطمئن نیستم چرا، بنابراین هیچ کس آن را لمس نمی کند!” ممکن است شنیده باشید، “جهنم دیگران هستند” (سارتر)، و میم برنامه نویس، “جهنم کد دیگران است.” من واقعاً معتقدم: “جهنم درک نکردن رمز خودم است.” و پاسخ به تماس یکی از مقصران اصلی است.

 

تماس های تودرتو/زنجیری

در نظر بگیرید:

listen( “click”, function handler(evt){
setTimeout( function request(){
ajax( “http://some.url.1”, function response(text){
if (text == “hello”) {
handler();
}

else if (text == “world”) {
request();
}
} );
}, 500) ;
} );

یک کد شانس خوب وجود دارد که برای شما قابل تشخیص است. ما زنجیره ای از سه تابع تو در تو داریم که هر کدام یک مرحله از یک سری ناهمزمان را نشان می دهد (وظیفه، “فرایند”).

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

اما «جهنم پاسخ به تماس» در واقع تقریباً هیچ ربطی به تورفتگی/تورفتگی ندارد. این یک مشکل بسیار عمیق تر از این است. در ادامه این فصل خواهیم دید که چگونه و چرا.

ابتدا منتظر رویداد “کلیک” هستیم، سپس منتظر روشن شدن تایمر هستیم، سپس منتظر پاسخ Ajax هستیم که در آن نقطه ممکن است همه این کارها را دوباره انجام دهد. در نگاه اول، ممکن است به نظر برسد که این کد ناهمزمانی خود را به طور طبیعی با برنامه ریزی متوالی مغز ترسیم می کند.

اول (اکنون)، ما:

listen( “..”, function handler(..){
// ..
} );

سپس بعداً، ما:

علیرضا بابامرادی

راه آسان‌تری برای ارتباط با کاربران‌مان پیدا کرده‌ایم :) عضویت در کانال

مطالب زیر را حتما بخوانید:

قوانین ارسال دیدگاه در سایت

  • چنانچه دیدگاهی توهین آمیز باشد تایید نخواهد شد.
  • چنانچه دیدگاه شما جنبه ی تبلیغاتی داشته باشد تایید نخواهد شد.
  • چنانچه از لینک سایر وبسایت ها و یا وبسایت خود در دیدگاه استفاده کرده باشید تایید نخواهد شد.
  • چنانچه در دیدگاه خود از شماره تماس، ایمیل و آیدی تلگرام استفاده کرده باشید تایید نخواهد شد.
  • چنانچه دیدگاهی بی ارتباط با موضوع آموزش مطرح شود تایید نخواهد شد.

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

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

لینک کوتاه:
0