Angular2:使用Horizo​​n API在RethinkDB中删除AllAll()

时间:2017-03-08 09:05:29

标签: angular typescript rethinkdb removeall horizon

我对Angular2,RethinkDB和Horizo​​n API非常陌生,我正在构建一个小型的webapp。在这个应用程序中,我试图删除特定表中的所有对象,因此我使用Horizo​​n API中的fetch()和removeAll()函数。问题是以下错误:

removeAll takes an array as an argument

Horizo​​n API的文档描述了fetch()方法返回一个数组,并且我使用这个数组来删除All()数据。 来源: 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]

我之前尝试过声明一个数组和许多其他东西,但似乎没有任何效果。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

你非常接近,但是你正在以错误的方式调用removeAll。一个例子就是:

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

您只能在订阅时操纵对象。将它们传递给数组,现在您已经有正确的对象传递给removeAll函数