我对Angular2,RethinkDB和Horizon API非常陌生,我正在构建一个小型的webapp。在这个应用程序中,我试图删除特定表中的所有对象,因此我使用Horizon API中的fetch()和removeAll()函数。问题是以下错误:
removeAll takes an array as an argument
Horizon 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]
我之前尝试过声明一个数组和许多其他东西,但似乎没有任何效果。有什么想法吗?
答案 0 :(得分:2)
你非常接近,但是你正在以错误的方式调用removeAll。一个例子就是:
ClearTable(): void {
this.table.fetch().subscribe(
(returnObjects: Object[]) => {
this.table.removeAll(returnObjects);
}
);
}
您只能在订阅时操纵对象。将它们传递给数组,现在您已经有正确的对象传递给removeAll函数