0
私はAngular4アプリを開発中です。ここで他の方法で観測可能なデータを使用するには?
私はデータ -
export class BookingService {
constructor(private http: HttpClient) {}
getMemberBookings(memberID: number): Observable<any> {
return this.http.get('http://myapi.com/bookings/member/'+memberID).map(response => response['bookings']);
}
}
を取得するために使用していたサービスです。そして、私のコンポーネント -
export class PrintButtonComponent implements OnInit {
bookings: any;
constructor(private service: BookingService) {}
ngOnInit() {}
downloadPDF() {
this.getBookings(memberID);
//pdf creation logic
}
getBookings(memberID: number) {
this.service.getMemberBookings(memberID).subscribe(data => this.bookings = data);
}
}
での問題は、私がサービスからのデータを使用したいですPDFを作成するために必要な他のデータがあるので、downloadPDFメソッド。 しかし、サブスクリプションからデータを返すか、プロパティに設定すると、定義されていません。私はこれが非同期性のためであることを理解していますが、自分のpdf作成ロジックをsubscribeメソッドの中に入れたいとは思いません。 どうすればこの問題を解決できますか?私はAngularとobservablesにはかなり新しいです。 ありがとうございます。
ありがとうございます。しかし、「観測可能な複数の値」はどういう意味ですか?そして、観測可能なサブスクライバメソッドでこれを行う方法はありませんか? – doctorsherlock
約束は、それが解決する一つの価値を持つことができます。オブザーバブルには、複数の出力値を指定できます。 HttpClientには1つの値しかありませんので、安全に置き換えることができます。これを観測可能にすることはできますが、 'subscribe'の中で 'pdf creation logic'を動かす必要があります。 – estus