"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > هل العناصر التي يمكن ملاحظتها Rx باردة افتراضيًا؟ فهم تدفق البيانات باستخدام "النشر" و"المشاركة".

هل العناصر التي يمكن ملاحظتها Rx باردة افتراضيًا؟ فهم تدفق البيانات باستخدام "النشر" و"المشاركة".

تم النشر بتاريخ 2024-11-15
تصفح:957

 Are Rx Observables Cold by Default?  Understanding the Flow of Data with  `publish` and `share`

الملاحظات الساخنة والباردة: فهم تدفق البيانات

هل جميع عناصر الملاحظة Rx باردة بشكل افتراضي؟

افتراضيًا ، جميع العناصر التي يمكن ملاحظتها Rx باردة، باستثناء الموضوعات. هذا يعني أنهم لا يصدرون قيمًا إلا عندما يكون لديهم مراقب واحد على الأقل مشترك فيها.

مشغلو Rx لتحويل العناصر القابلة للمراقبة الباردة إلى عناصر قابلة للملاحظة الساخنة

هناك نوعان من المشغلين الرئيسيين الذين يمكن تحويل بارد يمكن ملاحظته إلى ساخن يمكن ملاحظته:

    نشر
  • : إرجاع قابل للاتصال يمكن ملاحظتها، والتي ستبدأ فقط في إصدار القيم عندما تكون متصلة. مشاركة
  • : تشبه النشر، ولكنها تربط تلقائيًا ما يمكن ملاحظته عندما يشترك المراقب الأول.
  • [] &&&]مع أحدث من المشغل والملاحظات الباردة
معLatestFrom لا يغير من برودة أو سخونة يمكن ملاحظتها. في المثال الخاص بك:

cold$.withLatestFrom(sth$,...) ستظل قابلة للملاحظة الباردة.

إذا تم اشتراك عدة عناصر يمكن ملاحظتها في Cold$ باستخدام withLatestFrom، فإنها سوف يستهلك كل منهم نفس تسلسل القيم، بغض النظر عن أوقات الاشتراك الخاصة بهم.

  • Rx.fromEvent وHot/Cold السلوك
يرجع التناقض الذي لاحظته في مثال CodePen إلى حقيقة أن الحدث يصدر فقط عند النقر فوق عنصر ما، وليس عند الاشتراك في Rx.fromEvent القابل للملاحظة. وبسبب هذا، يتلقى كل اشتراك في العناصر القابلة للرصد حدثًا مختلفًا.

مخطط التدفق المبسط للعناصر القابلة للرصد البارد

لتوضيح التدفق المبسط للبيانات للعناصر الملحوظة الباردة:

المصدر -> المراقب 1 -> المراقب 2

التدفق المبسط رسم تخطيطي للعناصر الملحوظة الساخنة

Source -> Observer1 -> Observer2
بالنسبة للعناصر الملحوظة الساخنة، يكون التدفق هو:

المصدر -> الموضوع -> المراقب 1 -> المراقب 2

يعمل الموضوع كمحور مركزي ، البث المتعدد للبيانات الواردة إلى جميع المراقبين المشتركين.

Source -> Subject -> Observer1 -> Observer2

يقوم مشغلو البث المتعدد بإنشاء موضوع داخليًا وإرجاع شيء يمكن ملاحظته ويمكن توصيله. عندما يتم توصيل ما يمكن ملاحظته، يشترك الموضوع في البيانات الأولية التي يمكن ملاحظتها والبث المتعدد لجميع المراقبين المشتركين.

ضع في اعتبارك تدفق البيانات عند استخدام عوامل التشغيل

فهم تدفق البيانات وسلوك المشغلين أمر بالغ الأهمية. حتى لو كان الشيء الذي يمكن ملاحظته ساخنًا، فمن المهم التفكير في كيفية تأثير العوامل اللاحقة على سلوكه الساخن أو البارد.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3