【发布时间】:2019-11-13 07:03:10
【问题描述】:
注意:问题肯定是 ionViewDidLoad() 没有被执行,因为 http.get 确实得到了一个 observable。 我试图在执行请求时获取 observable,以便稍后获得其 json 响应,但我没有收到错误消息,浏览器控制台中也没有显示任何内容。我不知道为什么它没有返回任何东西。
我尝试了很多网址并检查了很多次导入。 console.log not pasting the data 主页.ts
import { ServicioService } from '../servicio.service';
import { Observable } from 'rxjs';
import { HttpClient } from '@angular/common/http';
...
ionViewDidLoad(){
const hola = this.servicio.goWiki(this.userInput).
subscribe((response) => {
console.log(response);
});
}
service.service.ts
import { Injectable } from '@angular/core';
import { map } from 'rxjs/operators';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
@Injectable()
export class ServicioService {
constructor(public http: HttpClient) {
console.log('goin!');
}
goWiki(userInput): Observable<any>{
return this.http.get('https://www.reddit.com/r/gifs/top/.json?limit=105sort=hot');
}
app.module.ts
import { ServicioService } from './servicio.service';
import { HttpClientModule } from '@angular/common/http';
imports: [HttpClientModule, BrowserModule, IonicModule.forRoot(), AppRoutingModule, ComponentesModule],
providers: [
ServicioService,...
我只是希望得到一个 observable 能够读取它并从中提取特定数据。
【问题讨论】:
-
请提供您的问题的最小复制,最好在 stackblitz 中
-
你确定
ionViewDidLoad ()被调用了吗?请查看此帖子:[stackoverflow.com/questions/40339833/… 未被调用) -
也许您可以使用控制台在“ionViewDidLoad()”中添加打印消息。记录检查该方法是否被执行
-
http.get 返回一个 observable:Observable
,而不是 Observable ,查看这个页面:codecraft.tv/courses/angular/http/http-with-observables -
@NicuVlad 我放了一个 console.log() 但没有返回任何东西,所以它没有被执行
标签: angular typescript rxjs ionic4 angular-httpclient