如何解决Angular Observable 返回订阅者而不是 JSON 并且字符串显示未定义且没有结果
ngOnInit 函数我在 app.component.ts
中定义为。
async ngOnInit(){
await this.api.GetSwapi()
await this.api.mySubject.subscribe(data => console.log); //Not getting data in console log
await this.api.mySubject.subscribe((data: any) => console.log); //Not getting data in console log
console.log('---------------------123123123-----------------------');//working
await this.api.GetSwapi2().subscribe(j => console.log(j)); //Getting undefined two times
await this.api.testSubject.subscribe(data => console.log); //Not getting data in console log
}
这是我的api.service.ts
。
export class ApiService {
constructor(private http: HttpClient) { }
mySubject = new Subject();
testSubject = new Subject<string>();
GetSwapi(){ //FUNCTION 1
this.http.get<any>('https://swapi.dev/api/people/')
.subscribe(data => {
console.log(data.results);
this.mySubject.next(data.result);
});
}
GetSwapi2(): Observable<any> { //FUNCTION 2
this.http.get<any>('https://swapi.dev/api/people/')
.subscribe(data => {
this.mySubject.next(data.result);
});
this.testSubject.next('woooow');
return this.mySubject.asObservable();
}
}
仅此显示未定义两次await this.api.GetSwapi2().subscribe(j => console.log(j));
其他人无法看到 console.log
中的数据
我只是想在我的 app.component.ts
中获取数据。
解决方法
发现我的回答有一个小错误。
GetSwapi(){ //FUNCTION 1
this.http.get<any>('https://swapi.dev/api/people/')
.subscribe(data => {
console.log(data.results);
this.mySubject.next(data.result);
});
}
问题出在下一个 .. this.mySubject.next(data.result);
它的 results
而不是 result
,因为 console.log(data.results)
正在显示结果。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。