我构建服务,应该在构建服务器API之前暂时返回某些数组的Observable。在将angular和其他软件包升级到6.0.0-rc.3版本之前,我使用了以下语法:
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/of';
@Injectable()
export class GeocodesService {
getPositions():Observable<any>{
return Observable.of({ })
}
}
在6.0.0-rc.3,此语法看起来已弃用 尝试按照以下方式导入它(使用最新的角度):
import 'rxjs/observable/of'
但是获得错误:
Module not found: Error: Can't resolve 'rxjs/observable/of'
如何导入&#34;&#34;可以用最新的rxjs来完成吗?
由于
答案 0 :(得分:8)
最后找到了解决方案here
这个人(Tomas Trajan)使用以下语法:
import { Observable , of} from 'rxjs'
以后可以使用:
getWidgets() {
return of([]);
}
答案 1 :(得分:6)
如果您想使用RxJS版本6的修补导入,您还需要安装rxjs-compat
。
这是一个单独的软件包,它向RxJS版本6添加了向后兼容性(使用RxJS版本5):
npm install rxjs-compat@6.0.0-tactical-rc.1
安装rxjs-compat
后,您的修补导入应该可以正常工作。
有关详细信息,请参阅migration guide。
答案 2 :(得分:1)
您必须更改导入和实例化。 Check out Damien's blog post
<强>铊; DR:强>
import { Observable, fromEvent, of } from 'rxjs';
const yourResult = Observable
.create(of(yourObservable))
.startWith(null)
.map(x => x.someStringProperty.toLowerCase());
//subscribe to keyup event on input element
Observable
.create(fromEvent(yourInputElement, 'keyup'))
.debounceTime(5000)
.distinctUntilChanged()
.subscribe((event) => {
yourEventHandler(event);
});
答案 3 :(得分:0)
使用:
import {of} from 'rxjs';
Angular v6或6+中的抛出错误
使用如下:
import {of as useOf } from 'rxjs';
..................... .... ..............
getBooks():Observable<Book[]>{
return useOf(this.BOOKS);
}
错误已解决!