'Error' message: 'Property 'from&#

2020-07-05 05:55发布

问题:

I am trying to learn reactive programming using RxJS. I was trying to create an observable from an array using Observable.from() method, but I am getting an error:

Property 'from' does not exist on type 'typeof Observable'

I scaffolded an Angular application using Angular CLI, so all the dependencies including RxJS package was imported correctly.

In app.component.ts I added below import statements:

import { Observable} from 'rxjs/Observable'
import 'rxjs/observable/from'

And my AppComponent class looks like this:

export class AppComponent {

  numbers: number[] = [1, 2, 3, 4, 5];

  callMyObservable() : void {  
    Observable.from(this.numbers);
  }
}  

But I am getting the above mentioned compile time error.

I am not sure how to make it work.

回答1:

Change

import { Observable} from 'rxjs/Observable'
import 'rxjs/observable/from'

To

import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/from';


回答2:

If you are using rxjs >=6.0.0 then you no longer use Observable.from. Instead from is a standalone function.

import { Observable, from} from 'rxjs';

//old way
var o = Observable.from([1, 2, 3, 4]);

//new way
var o = from([1, 2, 3, 4]);

I hope this is helpful since it took me a while to figure this out.