RXJS

Ahmed Jab - Aug 25 - - Dev Community

عشان تذاكر ال rxjs صح، لازم تذاكر الأول reactive programming paradigm

و ال programming paradigm هي طريقة في كتابة الكود علي أساس حاجة معينة زي ال OOP، الكود مبني أو مكتوب علي أساس ال object و ال class بس ال reactive ده بقي متخصص اكتر في كتابة الكود بيشتغل لما يحصل تغير عندك كا رد فعل زي مثلا user كتب حاجة في input أو عملت request لل server و بالتالي ال function اللي بتعمل ده بقيت بترجع داتا أو إنك ت handle كل ال events و ازاي تتعامل معاها

اللي هو من الاخر أنت بتكتب كود ( رد فعل ) لأي حاجة تحصل عندك

و عشان تذاكره صح لازم تكون جاي من ال JS مذاكر و فاهم كويس ال async و ال fetch و ال await، لازم تبقي عارف ايه اللي خلانا نلجألهم و نسيب ال promise يعني ايه المشاكل اللي قابلتنا و احنا بنستخدم ال promise و بنكتبه بإيدينا اللي هي ال callback hell

و عشان تبقي مذاكر الpromise و تستخدمه لازم تكون فاهم ال callback و عيوبه الي خلتنا نلجأ لحل زي ال promise، عيوبه زي ال callback hell أو ال pyramid of doom, بس ال callback hell بتاع ال promise اهون من بتاع ال callback

في الحالتين برضو ، الموضوع في المشاريع الكبيرة بيبقي الوضع كارثة إنك تعرف تtest الكلام ده و مش هيفهمه غير اللي كاتبه حرفياً

و عشان تذاكر ال callback صح ، لازم تكون مذاكر حاجتين أنواع ال functions اللي من ضمنهم ال callback، إنها عبارة عن function في function تانية بتناديها عن طريق إنها تتبعت كا parameter لل function التانية دي و بتشتغل لما ال function اللي ناديتها تخلص شغل، حتي من اسمها callback

الحاجة التانية إنك تبقي عارف ال synchronous programming و ايه الفرق بينه و بين ال asynchronous و ايه عيوبه اللي خلتنا نلجأ لل asynchronous زي إنك تكلم ال server و ازاي ال asynchronous حلهالنا

و أنت بقي بتذاكر ال reactive programming paradigm في design pattern واحد من ال concurrency design patterns الكلاسيكية اللي ممكن يساعدك في فيهم ال reactive programming paradigm و ال rxjs

لأنه فكرته قريبة من الفكرة اللي مبني عليها الاتنين
الأ و هو ال producer-consumer pattern

هسيبلك لينكين تقرأ عنه، بس كل اللي عايزك تعرفه هو

إن ال producer اللي بينتج داتا هنا هو ال observable هناك
و إن ال consumer اللي بيستهلك الداتا دي هو ال Observer هناك

.
Terabox Video Player