I am having trouble using rxjs Observable.concat function with typescript. Getting an error "Cannot read property 'apply' of undefined"
The problem seems to be only within typescript and may be specific to rxjs version 5 concat. The code seems to work with rxjs V4.
Here is a simplified version of the code illustrating the problem...
/*jshint esnext: true */
console.clear();
console.log('started');
class test{
observableArray: Observable<any>[]=[];
constructor(){
this.observableArray.push(Rx.Observable.return("Line 1"));
this.observableArray.push(Rx.Observable.return(56));
this.observableArray.push(Rx.Observable.create((observer)=>{
setTimeout(()=>{
try{
observer.onNext("Waited for");
observer.onCompleted();
}
catch(err){
observer.onError(err);
}
},3000);
}));
}
run(){
// ... indeterminate number of observables pushed into array.
// The problem lies below
var source = Rx.Observable.concat(...this.observableArray);
// seems to transpile into js: source = Observable_1.Observable.concat.apply(Observable_1.Observable, this.observableArray);
// In the chrome debugger I am getting error: Cannot read property 'apply' of undefined
var subscription = source.subscribe(
function (x) {
console.log('Next: ' + x);
},
function (err) {
console.error('Error: ' + err);
},
function () {
console.log('Completed');
});
}
}
}
Here is the jsbin: https://jsbin.com/naxeba/edit?html,js,console,output