شبكة تعلم مع ناو

ما الفرق بين البرمجة المتزامنة وغير المتزامنة؟

الفرق في الانتظار:

  • متزامنة: المهام تُنفَّذ واحدة تلو الأخرى، وكل مهمة تنتظر انتهاء السابقة.
  • غير متزامنة: يمكن بدء مهام دون انتظار انتهاء ما قبلها، فتتقدم عدة مهام في الوقت نفسه.

مثال من الحياة

متزامن: تضع الماء ليغلي، وتقف تنتظره، ثم تقطع الخضار. غير متزامن: تضع الماء، وتقطع الخضار أثناء غليانه.

في الكود

// async: both requests start right away
const a = fetch('/api/a');
const b = fetch('/api/b');
await Promise.all([a, b]);

تصحيح بعض المفاهيم

المتزامنة ليست أسرع دائمًا ولا أبطأ دائمًا، ولا علاقة لأي منهما بالتعامل مع الأخطاء؛ كلاهما يدعمه.

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.