web-dev-qa-db-ja.com

サブスクライブするときに戻る。 ...タイプ「サブスクリプション」に次のプロパティがありません

Angularサービスからの応答を購読しています:

  books: BookModel[] = [];

  constructor(private bookService: BookService) { }

  ngOnInit() {

    this.books = this.getBooks();

  }

  getBooks(): BookModel[] {

    return this.bookService.getByCategoryId(1).subscribe((payload: Payload<GetBooksResponse>) => {

      return payload.result.map((response: GetBooksResponse) => { 

        return {
          id: response.id, 
          title: response.title
        };

      });

    });

  }

returnthis.bookServiceに追加すると、たとえばreturn this.bookServiceのようにエラーが発生します。

Type 'Subscription' is missing the following properties from type 'BookModel[]': length, pop, Push, concat, and 26 more.

Returnを使用してこれを機能させるにはどうすればよいですか?

更新:BookModel:

export interface BookModel {
  id: number;
  title: string;
}
5
Miguel Moura

ofを使用して、あるタイプのコレクションから新しいオブザーバーを返すことができます

https://rxjs-dev.firebaseapp.com/api/index/function/of

0