サービスデータを非同期パイプ経由でngforにロードしようとしていますが、問題に直面しています:このコンポーネントのアプリでInvalidPipeArgument: '[オブジェクトオブジェクト]、[オブジェクトオブジェクト]、[オブジェクトオブジェクト]、[オブジェクトオブジェクト]、[オブジェクトオブジェクト]、[オブジェクトオブジェクト]
<app-book-list *ngFor="let app of apps | async | serachBox:searchBooksByName | filterSearch:showTechBooks:showMgmBooks:showFictionBooks "
[bookdetails]="app"></app-book-list>
サービスから来ることになっている: これは私のコンポーネントです。マイcomponent.tsファイルで
:
getBookDetails(){
let promise = new Promise((resolve,reject)=>{
return this.http.get('https://lib-http-ng.firebaseio.com/bookdetails.json')
.toPromise()
.then((res)=>{
const data = Object.values(res.json());
resolve(data[0])
})
})
return promise;
} 私は非同期パイプに関連したエラーを取得しています:
public apps= [];
ngOnInit() {
this.ServerService.getBookDetails()
.then((data)=>{
this.apps = data;
})
}
以下は約束です。
1.
Type '{}' is not assignable to type 'Promise<any>'.
あなたのコードは、いくつかのパイプを使用して削除する必要があります。どのパイプがエラーの原因ですか?どのような値でエラーが発生しますか? –
@GünterZöchbauerそれは '|非同期ではないでしょうか? "パイプ 'AsyncPipe'" – Pac0
あなたは正しいです。他のパイプを削除しても、同じエラーが発生します。これは、https://stackoverflow.com/help/mcveにつながります。これは、通常、SOの質問でコードを実行することをお勧めします。 –