در سه مقالهی قبلی در مورد Promiseها مفصل صحبت کردیم. یاد گرفتیم چطور آنها را تعریف کنیم. چطور از آنها استفاده کنیم. فهمیدیم چطور کتابخانههای دیگر را به Promiseهای خود جاوااسکریپت تبدیل کنیم. در مورد اصول زنجیربافی پرامیسها صحبت کردیم و یاد گرفتیم میتوانیم اعمال همزمان و غیرهمزمان را با این زنجیربافیها ترکیب کرده و مورد استفاده قرار دهیم. در نهایت یاد گرفتیم چطور خطاها را در Promiseها مدیریت کنیم. در این بخش از مقاله که بخش پایانی سری مقالات Promiseها است پروژهای که تعریف کرده بودیم را تکمیل میکنیم و نکات ارزشمندی پیرامون استفادهی حرفهای از Promiseها بیان میکنیم. با من همراه باشید.
تا اینجا Promiseها در جاوااسکریپت را معرفی کردیم. نحوهی استفاده از آن را مورد بررسی قرار دادیم. گفتیم چهطور میشود Promise تعریف کرد و کتابخانههای دیگر را با این ویژگی هماهنگ کرد. یاد گرفتیم چطور میشود Promise را به کار گرفت. مفهوم زنجیربافی را شرح دادیم و با استفاده از مفاهیم شرح داده شده یک پروژه فرضی نیز شروع کردیم تا گام به گام پیش ببریم و تکمیل کنیم. در این بخش به مدیریت خطا در Promiseها میپردازیم. اگر این سری مقاله را از ابتدا پیگیری نکردهاید پیشنهاد میکنم از بخش اول شروع کنید.
در بخش اول این مقاله گفتیم جاوااسکریپت از جمله زبانهایی است که اتفاقات غیر همزمان (asynchronous) در آن معمول و متداول است. و گفتیم بعضی اوقات لازم است تا از جاوااسکریپت قول بگیریم که بعد از مشخص شدن تکلیف اجرای یک دستور غیر همزمان کاری را انجام دهد و برای این منظور Promiseها را معرفی کردیم. در این مقاله مبحث پیشین را ادامه میدهیم. سعی میکنیم نحوهی تعامل با Promiseها را یک به یک مرور کرده و با مثال ابعاد مختلف این مفهوم را واکاوری کنیم.
جاوااسکریپت از جمله زبانهایی است که اتفاقات غیر همزمان (asynchronous) در آن معمول و متداول است. مثلا وقتی یک درخواست به سرور میفرستید جاوااسکریپت منتظر نمیماند تا پاسخ آن دریافت شود. بلکه به اجرای خط به خط برنامه ادامه میدهد. اما این همیشه مطلوب نیست. بعضی اوقات لازم است تا از جاوااسکریپت قول بگیریم که بعد از مشخص شدن تکلیف اجرای یک دستور غیر همزمان کاری را انجام دهد. اینجاست که راه Promiseها به قضیه باز میشود. دنیای برنامهنویسی غیر همزمان دنیای مرموز و گاها دشواری است. پس بیایید یکی از بهترین مقالات را در این زمینه مرور کنیم.