2015-01-18 9 views
69

का निपटान करते हैं, मुझे एक अवलोकन करने योग्य सदस्यता की आवश्यकता होती है जिसे तुरंत पहली बार बुलाया जाता है।rxjs एक बार सब्सक्राइब करते हैं और विधि

क्या ऐसा कुछ है? कुछ देखने योग्य.subscribeOnce (func)

मेरा उपयोग केस, मैं एक एक्सप्रेस रूट हैंडलर में सदस्यता बना रहा हूं और सदस्यता को अनुरोध के लिए कई बार बुलाया जा रहा है। मैंने कभी आए हैं

observable.first().subscribe(func); 

उत्तर

129

नहीं 100% है कि तुम क्या जरूरत के बारे में कुछ है, लेकिन अगर आप केवल प्रथम मान निरीक्षण करने के लिए चाहते हैं, तो या तो first() या take(1) का उपयोग भर में। बोले लिंक के बाद आप ऑपरेटरों को एक बहुत उपयोगी टेबल मैपिंग उपयोग मामलों में ले जाएंगे। उदाहरण के लिए, "मैं पहला मान लेना चाहता हूं" उपयोग केस तीन ऑपरेटर हैं: first, firstOrDefault, और sample

नोट, यदि कोई अवलोकन अनुक्रम कोई अधिसूचना नहीं देता है, तो first ऑपरेटर ग्राहकों को एक त्रुटि के साथ सूचित करता है जबकि firstOrDefault ऑपरेटर ग्राहकों को डिफ़ॉल्ट मान प्रदान करता है।

operator use case lookup

+9

सदस्यता स्वत: के बाद साफ हो रहा है? –

+25

हां यह करता है। जब उनकी हालत पूरी हो जाती है तो पहले और दोनों सदस्यता रद्द करें। – Brandon

+10

दस्तावेज़ीकरण क्यों नहीं कहता है कि यह स्वचालित रूप से सदस्यता का निपटान करता है? – jzig

21

RxJS सबसे अच्छा प्रलेखन में पायी जाती है:

+2

इसे साझा करने के लिए धन्यवाद। मैं अपने संदर्भ के लिए एक बनाने की कोशिश कर रहा था और कभी नहीं जानता था कि यह पहले से मौजूद है :) – ATHER

+0

आपका स्वागत है @ATHER – DetweilerRyan

संबंधित मुद्दे