مقایسه Asynchronous با Synchronous
در جاوا اسکریپت در حالت پیش فرض کدها به صورت Synchronous اجرا میشوند؛ حالا این Asynchronous یا Synchronous چیست؟!
مقایسه Asynchronous با Synchronous
حالت اول اگر بخواهیم تعریف عامیانهای از Synchronous رو بگوییم: در این حالت در هر لحظه از زمان یک خط از کد ما اجرا خواهد شد. اگر محیط اپلیکیشن خود را رستوران در نظر بگیریم و خود اپلیکیشن را گارسون و کلاینت را مشتری، به این صورت خواهد بود که اول گارسون به میز شمارهی یک میرود سفارش را گرفته و او منتظر مینشیند تا سفارش میز شمارهی یک آماده شود و بعد از تحویل سفارش سراغ میز شمارهی دو میرود. خب چنین راهکاری قطعا منطقی نخواهد بود. کدهای ما هم در حالت پیش فرض این شکلی کار میکنند. (خط به خط تا انتها)
بررسی Asynchronous
بهتر بود اگر گارسون سراغ چند میز که آماده سفارش دادن هستند برود و سفارش را دریافت کند و به کیترینگ تحویل دهد؛ هر زمان که سفارش میزی آماده شد آن را تحویل میدهد؛ به این صورت وقفهای در کارهای اجرایی رستوران پیش نخواهد آمد. حالت دوم یعنی Asynch و در عمل به این صورت است که کارهایی که انجام دادن آنها نیازمند صرف زمان هستند باید به صورت Asynch نوشته شوند و در این حالت اپلیکیشن ما کارش متوقف نمیشود تا یک سفارش به مرحله پایانی برسه و بعد سراغ سفارش بعدی برود.
Asynch چه زمانی استفاده میشود؟
وقتی قرار است یک اتفاقی رخ دهد که نیازمند صرف زمان است. مثلا: وقتی قرار است یک فایل دانلود یا آپلود شود وقتی از توابع Asynch استفاده شود، اپ ما کار خودش رو ادامه میدهد تا مرحله آپلود یا دانلود به اتمام برسد. Asynch به ما کمک میکند تا کاربر را از فهم منطق برنامه دور نگه داریم؛ چون نیازی نیس کلاینت از پس زمینهی کار با خبر شود مطقی نیست که صبر کنیم تا کارش تموم شود و سپس سراغ کار بعدی برویم.
پیشنهاد نویسنده: مقایسه SSR با CSR
نظرات خود را در این زمینه برای ما بنویسید.
ارسال پاسخ