gch*_*oni 4 javascript rxjs typescript angular
鉴于源 Angular Service 代码
@Injectable()
export class HomeContentService {
constructor(private http: HttpClient) { }
getContent(): Observable<string> {
let fileURI = '/assets/content/home.md';
let opt = { responseType: 'text' };
return this.http.get<string>(
fileURI,
opt
);
}
Run Code Online (Sandbox Code Playgroud)
调用getContent()应该返回一个Observable<string>. 但是,当我运行时ng serve,我得到Type 'string' is not assignable to type 'json'.
经过几次尝试,webpack 似乎编译得很好,我没有做任何更改,但是只要我关闭进程并ng serve再次尝试,问题就会再次发生。
我想我的设置有问题responseType: 'text',但我不知道是什么。谷歌搜索也没有帮助。
有任何想法吗?
您必须内联选项,因为这是 TypeScript 转译器可以推断您想要返回 type 的唯一方法Observable<string>。
getContent(): Observable<string> {
let fileURI = '/assets/content/home.md';
return this.http.get(fileURI, { responseType: 'text' });
}
Run Code Online (Sandbox Code Playgroud)
另请参阅无法设置 Http ResponseType #18586,请参阅alxhub.
我认为你没有指定地图。尝试这个:
getContent ( ) : Observable< string > {
return this.http.get( YOUR REF )
.map((res:Response) => res.text())
.catch((error:any) => Observable.throw(error.json().error || 'Server error'));
}
Run Code Online (Sandbox Code Playgroud)
在 res.text 中指定类型,如果响应是 json 则为“res.Json()”
为糟糕的英语而悲伤
| 归档时间: |
|
| 查看次数: |
8867 次 |
| 最近记录: |