0
httpリクエストを呼び出すと思われるサービスを作成しました。コンポーネントがngOnInit()からその関数を呼び出しています。 httpが要求を取得する前に呼び出しを終了するコンポーネントとして、ページにデータを表示できません。コンポーネントからのサービスコールでHTTP応答を待つ4
ヘルプが必要です。 サービス:
import {HttpClientModule} from '@angular/common/http';
import { OnInit, Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
@Injectable()
export class studentsInfoService implements OnInit
{
_StudentsInfo;
ngOnInit(): void {
}
constructor(private http: HttpClient){};
getStudentsList():Observable<any>{
this.http.get("http://192.168.2.5:81/api/values").subscribe(data=>
{
console.log("Invoked getStudentsList :)");
this._StudentsInfo = data;
console.log(data);
return data;
},err=>{
console.log("error in getStudentsList");
return null;
})
return this._StudentsInfo;
}
}
コンポーネント:
import { Component, OnInit } from '@angular/core';
import {studentsInfoService} from '../../Services/studensInfo.service';
@Component({
selector: 'app-students-info',
templateUrl: './students-info.component.html',
styleUrls: ['./students-info.component.css'],
providers:[studentsInfoService]
})
export class StudentsInfoComponent implements OnInit {
_sData=null;
constructor(private sInfoService:studentsInfoService) { }
ngOnInit() {
let x = this.sInfoService.getStudentsList();
x.subscribe(x=> this._sData = x);
}
}
取得エラーエラー例外TypeError:プロパティを読んで、未定義 の '購読する' ことはできませんStudentsInfoComponent.webpackJsonp .../../../../../src/app on Component サービスメソッドへの同期呼び出しを行う必要があります。
のようになります。親愛なるrajagrur、ありがとうございます。私はhttpの.mapメソッドを見つけることができません。サブスクライブを表示しています –
import 'rxjs/add/operator/map'これはあなたのサービスに追加されるべきです –