मुझे लगता है कि मुझे कुछ मौलिक गलत समझना चाहिए, क्योंकि मेरे दिमाग में यह एक अवलोकन के लिए सबसे बुनियादी मामला होना चाहिए, लेकिन मेरे जीवन के लिए मैं यह नहीं समझ सकता कि दस्तावेज़ों से इसे कैसे किया जाए।आरएक्सजेएस: मैं एक पर्यवेक्षक को "मैन्युअल रूप से" कैसे अपडेट करूं?
असल में, मैं यह करने के सक्षम होना चाहते हैं:
// create a dummy observable, which I would update manually
var eventObservable = rx.Observable.create(function(observer){});
var observer = eventObservable.subscribe(
function(x){
console.log('next: ' + x);
}
...
var my_function = function(){
eventObservable.push('foo');
//'push' adds an event to the datastream, the observer gets it and prints
// next: foo
}
लेकिन मैं push
की तरह एक विधि को खोजने के लिए नहीं कर पाए हैं। मैं इसे एक क्लिक हैंडलर के लिए उपयोग कर रहा हूं, और मुझे पता है कि उनके पास Observable.fromEvent
है, लेकिन मैं इसे प्रतिक्रिया के साथ उपयोग करने की कोशिश कर रहा हूं और मैं पूरी तरह से उपयोग करने के बजाय, कॉलबैक में डेटास्ट्रीम को अपडेट करने में सक्षम हूं विभिन्न घटना हैंडलिंग सिस्टम। तो बुनियादी तौर पर मैं यह चाहता हूँ:
$("#target").click(function(e) {
eventObservable.push(e.target.text());
});
निकटतम मुझे मिल गया observer.onNext('foo')
उपयोग कर रहा था, लेकिन वह वास्तव में काम करने के लिए और कहा कि पर्यवेक्षक, जो सही नहीं लगता है पर कहा जाता है नहीं मालूम था। पर्यवेक्षक डेटा स्ट्रीम पर प्रतिक्रिया करने वाली चीज होनी चाहिए, इसे बदल नहीं, है ना?
क्या मैं पर्यवेक्षक/देखने योग्य रिश्ते को समझ नहीं पा रहा हूं?
अपने विचार को स्पष्ट करने के लिए इसे देखें (प्रतिक्रियाशील प्रोग्रामिंग का परिचय जो आप गायब हैं): https://gist.github.com/staltz/868e7e9bc2a7b8c1f754। यहां भी संसाधनों का एक समूह है जिससे आप अपनी समझ में सुधार कर सकते हैं: https://github.com/Reactive-Extensions/RxJS#resources – user3743222
मैंने पहले जांच की थी, एक ठोस संसाधन की तरह लगता है। दूसरा एक महान सूची है, इस पर मैंने पाया http://aaronstacy.com/writings/reactive-programming-and-mvc/ जिसने मुझे Rx.Subject खोजने में मदद की, जो मेरी समस्या हल करती है। तो धन्यवाद! एक बार मैंने थोड़ा और ऐप लिखा है, तो मैं अपना समाधान पोस्ट करूंगा, बस थोड़ा सा परीक्षण करना चाहता हूं। – LiamD
हेहे, इस सवाल पूछने के लिए आपको बहुत बहुत धन्यवाद, मैं एक ही प्रश्न को उसी कोड नमूने के साथ पूछने वाला था :-) – arturh