اموزش دوتا متد Syncronous و Asynchronous
حالا این دو متد چیه و چکار میکنه ؟
متد Sync :
این متد دستورات میگه که دستورات نباید همزمان اجرا بشن و باید پس از اجرای دستور قبلی دستور بعدی اجرا بشه
اما فقط درصورتی این کار انجام میشه که دستورات ما حتما از نوع sync باشن
مثال :
console.log(1)
console.log(2)
console.log(3)
result :
1
2
3
مفهوم sync دقیقا توی همینه ، یعنی مثلا نقطه پایان 2 دقیقا چسبیده به نقطه شروع 3
اما Async دقیقا برعکس این متد عمل میکنه
این میاد دستورات رو با هم اجرا میکنه یعنی دنباله ندارند
setTimeout(() => {
console.log(1)
}, 2000);
setTimeout(() => {
console.log(2)
}, 1000);
setTimeout(() => {
console.log(3)
}, 500);
متد set timeout از نوع async عمل میکنه، در این حالت دستورات طبق تایمشون اجرا میکنه بعنی صبر نمیکنن تا به ترتیب اجرا بشن
پس خروجی طبق تایمشون بصورت زیر هست :
3 => (Time : 500)
2 => (Time : 1000
1 => (Time : 2000)
ابتدا دستور 3 پس از 500 میلی ثانیه اجرا میشه ، سپس 2 پس از 1000 میلی ثانیه و...
همون طور که میبینید دستورات به نظم اهمیت نمیدن و فقط طبق تایم شون چاپ میشن
حالا یک مثال میزنم که قشنگ بره توی مغزتون :
Sync :
فرض کنید میرید نونوایی اونجا نمیاد اول به نفر اخر نون بده بعد به نفر دوم نون بده بعد نفر پنجم و...
اگه پارتی بازی نکنن باید به ترتیب به هر کدوم نون داده بشه و ترتیب رعایت بشه این دقیقا مفهوم sync هست
Async :
فرض کنید میخواید خرید اینترنتی انجام بدید درگاه پرداخت نمیاد صبر کنه تا نفر قبلی شما پرداختش تکمیل بشه و بعد درخواست شما رو قبول کنه دقیقا همزمان چندین نفر میتونند ثبت سفارش انجام بدن
خب اینم از یک مثال امیدوارم با این مثال دیگه قشنگ یاد گرفته باشید