3

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

removeAll takes an array as an argument

Horizo​​n API 的文档描述了 fetch() 方法返回一个数组,我正在使用这个数组来 removeAll() 数据。 来源: https ://horizo​​n.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]

我已经尝试过早点声明一个数组和许多其他的东西,但似乎没有任何效果。有任何想法吗?

4

1 回答 1

2

您非常接近,但您以错误的方式调用 removeAll 。一个例子是这样的:

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

您只能在订阅对象时对其进行操作。将它们传递给一个数组,现在您已经将正确的对象传递给 removeAll 函数

于 2017-03-08T09:11:56.000 回答