2016-04-14 25 views
7

का संदर्भ देते समय rxjs त्रुटियां प्राप्त करना मैं इस ट्यूटोरियल https://egghead.io/lessons/rxjs-creating-an-observable का उपयोग कर रहा हूं जो 2.5.2 आरएक्सजेएस संस्करण का संदर्भ दे रहा है।नवीनतम आरएक्सजेएस

console.clear(); 

var source = Rx.Observable.create(function(observer){ 
    setTimeout(function() { 
     console.log('timeout hit'); 
     observer.onNext(42); 
     observer.onCompleted(); 
    }, 1000); 

    console.log('started'); 
}); 

var sub = source.subscribe(function(x) { 
    console.log('next ' + x); 
}, function(err) { 
    console.error(err); 
}, function() { 
    console.info('done'); 
}); 

setTimeout(function() { 
    sub.dispose() 
}, 500); 

यहाँ एक सांत्वना उत्पादन मैं हो रही है:

मैं नवीनतम [email protected]"rx.umd.js से NPM पैकेज <script src="node_modules/rxjs/bundles/rx.umd.js"></script> और यहाँ संदर्भित कर रहा हूँ कोड मैं भागने की कोशिश कर रहा हूँ।

Console was cleared 
script.js:10 started 
script.js:22 Uncaught TypeError: sub.dispose is not a function 
script.js:5 timeout hit 
script.js:6 Uncaught TypeError: observer.onNext is not a function 

plunker: https://plnkr.co/edit/w1ZJL64b8rnA92PVuEDF?p=catalogue

अब समर्थित नहीं है rxjs 5 एपीआई rxjs 2.5 और observer.onNext(42); और sub.dispose() से बहुत अलग है है?

उत्तर

7

यह सही है। आरएक्सजेएस 5 को प्रदर्शन में सुधार के लिए फिर से लिखा गया था और ES7 Observable spec के अनुरूप भी था। गीथूब पर RxJS 4->5 migration page देखें।

यहाँ एक काम कर उदाहरण है:

// Create new observable 
const one = Observable.of(1,2,3); 

// Subscribe to it 
const oneSubscription = one.subscribe({ 
    next: x => console.log(x), 
    error: e => console.error(e), 
    complete:() => console.log('complete') 
}); 

// "Dispose"/unsubscribe from it 
oneSubscription.unsubscribe(); 

तरीकों का एक बहुत नाम दिया गया था, लेकिन एपीआई ही में संक्रमण के लिए बहुत आसान है।

+0

https://github.com/ReactiveX/rxjs/blob/master/MIGRATION.md#observer-interface-changes-also-subjects – Cody

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