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

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

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

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

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

برنامه نویسی ناهمزمان

دسته بندی :اخبار سایت 13 مارس 2023 علیرضا بابامرادی 397
برنامه نویسی ناهمزمان

برنامه نویسی ناهمزمان

مطمئناً برنامه نویسی ناهمزمان از ابتدای JS وجود داشته است. اما اکثر توسعه دهندگان JS هرگز دقیقاً به دقت در نظر نگرفته اند که چگونه و چرا در برنامه های خود ظاهر می شود یا راه های مختلف دیگری را برای مدیریت آن بررسی نکرده اند. رویکرد به اندازه کافی خوب همیشه تابع پاسخ به تماس فروتنانه بوده است. بسیاری تا به امروز اصرار دارند که تماس های تلفنی بیش از حد کافی هستند.

اما از آنجایی که JS هم از نظر وسعت و هم از نظر پیچیدگی به رشد خود ادامه می‌دهد، برای پاسخگویی به نیازهای روزافزون یک زبان برنامه‌نویسی درجه یک که در مرورگرها و سرورها و هر دستگاه قابل تصوری در بین آن‌ها اجرا می‌شود، مشکلات مدیریت ناهمزمانی به طور فزاینده‌ای فلج‌کننده می‌شوند. ، و آنها برای رویکردهایی فریاد می زنند که هم توانایی بیشتری دارند و هم منطقی تر.

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

اما قبل از اینکه بتوانیم به آنجا برسیم، باید عمیق‌تر درک کنیم که ناهمزمانی چیست و چگونه در JS عمل می‌کند.

برنامه ای به صورت تکه تکه

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

به نظر می رسد مشکلی که اکثر توسعه دهندگان تازه وارد JS دارند این است که بعداً به طور دقیق و بلافاصله بعد از این اتفاق نمی افتد. به عبارت دیگر، وظایفی که اکنون نمی‌توانند تکمیل شوند، طبق تعریف، به صورت ناهمزمان تکمیل می‌شوند، و بنابراین، ما رفتار مسدودکننده‌ای که ممکن است به طور شهودی انتظار یا می‌خواهید نخواهیم داشت

احتمالاً می‌دانید که درخواست‌های استاندارد Ajax به صورت همزمان کامل نمی‌شوند، به این معنی که تابع ajax(..) هنوز هیچ مقداری برای بازگشت به متغیر داده ندارد. اگر ajax (..) بتواند تا زمانی که پاسخ بازگردد، مسدود شود، داده = انتساب به خوبی کار می کند.

اما آژاکس اینگونه نیست. ما اکنون یک درخواست Ajax ناهمزمان می‌کنیم و تا بعداً نتایج را دریافت نمی‌کنیم. ساده ترین (اما قطعا نه تنها، یا لزوماً حتی بهترین!) راه “انتظار” از هم اکنون تا بعد، استفاده از تابعی است که معمولاً به آن تابع callback می گویند:

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

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

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

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

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

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

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

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

لینک کوتاه:
0