web-dev-qa-db-ja.com

.share()with .subscribe()_isScalarがありません

share()subscribe()を使用しようとしていますが、次のようなエラーメッセージが表示されます。最初は、サブスクライブから始めました。これはどのように修正できますか?

私の意図は、サブスクライブでロジックを実行することです。非同期パイプによる複数の呼び出しを防ぐために共有が必要です。

タイプ「サブスクリプション」は、タイプ「監視可能」に割り当てることができません。
プロパティ '_isScalar'がタイプ 'Subscription'にありません。 (プロパティ)PostDetailPage.post:観測可能

 this.post = this.data.getPostById(this.postId).share().subscribe(data => {
          this.post = data;
      },
      err => {
          console.log("Oops!");
      })
7
eulercode

.subscribe()Subscriptionを返します(サブスクリプションの解除を許可します)。
Observableが必要な場合は、subscribe(...)を使用しないでください。
代わりにmap(...)を使用できます

  this.post = this.data.getPostById(this.postId).share().map(data => {
      this.post = data;
  }) 
15