با سلام در مورد این 2 توضیحاتی بدین.
ایا async روی همزمانی کلیکی که میکنیم تاثیر داره؟
با سلام در مورد این 2 توضیحاتی بدین.
ایا async روی همزمانی کلیکی که میکنیم تاثیر داره؟
در درخواست های Get همیشه رفتار پیش فرض بر این هست که مرورگر درخواست رو کش میکنه و پس از یکبار درخواست در صورتیکه بار دوم اون درخواست صورت بگیره از کش بازیابی میشه و دیگه به سرور ارسال نمیشه. شرط واکشی از کش این هست که آدرس کارکتر به کارکتر بررسی و مطابقت داده میشه و در صورت عدم مغایرت درخواست از کش بازیابی میشه. حال برای غلبه بر این رفتار معمولا وقتی درخواست مبتنی بر Get باشه و هربار هم باید از سرور واکشی بشه معمولا به انتهای آدرس درخواستی زمان حال رو بصورت کوئری استرینگ اضافه میکنن و چون آدرس اینطوری تغییر میکنه در هر بار درخواست دقیقا از سرور واکشی میشه. Jquery در درخواست های ایجکس یک پراپرتی برای اینکار قرار داده که همون cache هست و در صورت false بودن دقیقا به انتهای آدرس درخواستی زمان حال رو بصورت کوئری استرینگ اضافه میکنه. مقدار پیش فرض این خصوصیت true هست یعنی تمامی درخواست های Get کش میشن.
در مورد خصوصیت async این خاصیت مربوط به نحوه درخواست های ایجکس هست. میدونیم درخواست های ایجکس به دو صورت هست انجام میشه: یا همزمان یا غیرهمزمان
بصورت پیش فرض درخواست ها بصورت غیرهمزمان ارسال میشن یعنی بعد از ارسال درخواست بدون اینکه منتظر پاسخ سرور باشه تعامل با سند و اجرای سیار اسکریپت ها متوقف نمیشه ولی اگر بصورت همزمان تنظیم بشه بعد از ارسال درخواست تا زمان دریافت پاسخ از سرور اجرای همه اسکریپت ها متوقف شده و تعامل با سند و المانهای اون امکانپذیر نیست. باز هم جی کوئری در شئی ajax یک پراپرتی برای تنظیم این خاصیت قرار داده که بصورت پیش فرض مقدار true داره یعنی تمامی درخواست ها بصورت غیرهمزمان ارسال میشن.