我最近在我的身份验证令牌上使用了observable
Observable.of('token');
Run Code Online (Sandbox Code Playgroud)
但它一直给我上面提到的错误,虽然我已经导入了这个.
import {Observable} from 'rxjs/Observable';
Run Code Online (Sandbox Code Playgroud) import { Observable, of } from "rxjs";
// And if I try to return like this
return Observable.of(this.purposes);
Run Code Online (Sandbox Code Playgroud)
我收到一个错误说明,'''类型'不存在'Observable'属性'
RxJS中的等价物是什么Promise.resolve?我知道我能做到,Observable.fromPromise(Promise.resolve(someValue));但必须有一个更清洁的方式.
我构建服务,应该在构建服务器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({ })
}
}
Run Code Online (Sandbox Code Playgroud)
在6.0.0-rc.3,此语法看起来已弃用尝试按照以下方式导入它(使用最新的角度):
import 'rxjs/observable/of'
Run Code Online (Sandbox Code Playgroud)
但获得错误:
Module not found: Error: Can't resolve 'rxjs/observable/of'
Run Code Online (Sandbox Code Playgroud)
如何使用最新的rxjs进行"of"的导入?
谢谢
什么是正确的表达和导入Observable.of([]);.
import { of } from 'rxjs'; 不适合我.
升级到angular-cli@1.6.3并将所有RxJS导入,方法和运算符转换为新的> 5.5表单后,我在运行时遇到类型错误,说这Observable.of不是函数.相同的错误与被定义为扩展的成员的所有方法发生Observable,例如,Observable.fromEvent.
另一方面,定义为独立函数的方法,如Observable.combineLatest运行正常,尽管编译器警告它们在类型上不存在Observable.
只是为了澄清,我对任何操作员都没有问题(在将它们转换为管道形式之后).只有方法.
我找到的解决方案是替换:
import { of } from 'rxjs/observable/of';
import { fromEvent } from 'rxjs/observable/fromEvent';
...
const x = Observable.of(true, false);
const y = Observable.fromEvent(target, 'click');
Run Code Online (Sandbox Code Playgroud)
同
import { ArrayObservable } from 'rxjs/observable/ArrayObservable';
import { FromEventObservable } from 'rxjs/observable/FromEventObservable';
...
const x = ArrayObservable.of(true, false);
const y = FromEventObservable.create(target, 'click');
Run Code Online (Sandbox Code Playgroud)
但我认为这应该是一个更好的方法.我对吗?
笔记:
ng --version 得到:
Angular CLI:1.6.3,节点:8.9.1,操作系统:win32 x64,Angular:5.1.3,
@ angular/cli:1.6.3,@ angular-devkit/build-optimizer:0.0.36,@ …