2017-03-08 5 views
3

Angular2、RethinkDB、Horizo​​n APIでかなり新しいです。私は小さなwebappを構築しています。このアプリケーションでは、特定のテーブル内のすべてのオブジェクトを削除しようとしているので、Horizo​​n APIからfetch()およびremoveAll()関数を使用します。問題は、次のエラーです:Anglet2のHorizo​​n APIを使用したRethinkDBのremoveAll()

removeAll takes an array as an argument 

ホライゾンAPIのドキュメントは、フェッチ()メソッドは、配列を返すことを記述している、と私はのremoveAllに、この配列()データを使用しています。 出典:私はこれの結果がフェッチログインするとhttps://horizon.io/api/collection/#fetch

this.table.removeAll(this.table.fetch().subscribe(
    result => console.log('Result:', result), 
    err => console.error(err), 
() => console.log('Results fetched') 
)); 

、それはオブジェクトの配列を表示しています。

Result: [Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object] 

私は配列を先に宣言しようとしましたが、他の多くのものは何も動作しませんでした。何か案は?

答えて

2

あなたは非常に近いですが、間違った方法でremoveAllを呼び出しています。たとえば、次のようになります。

ClearTable(): void { 
    this.table.fetch().subscribe(
     (returnObjects: Object[]) => { 
     this.table.removeAll(returnObjects); 
     } 
    ); 
} 

オブジェクトを購読するときにのみ操作できます。それらを配列に渡すと、removeAll関数に渡す正しいオブジェクトが得られました。

関連する問題