2017-03-08 13 views
3

저는 Angular2, RethinkDB 및 Horizon API가 새로 추가되었으며 작은 webapp를 작성하고 있습니다. 이 응용 프로그램에서 특정 테이블의 모든 개체를 삭제하려면 노력하고있어 따라서 fetch() 및 removeAll() 함수를 Horizon API에서 사용합니다. 이 문제는 다음과 같은 오류입니다 :Anglet2 Horizon 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 함수에 전달할 올바른 객체가 생겼습니다.