在使用Angular的HTTP服务从Firebase接收数据时,遇到返回重复数组的问题可能是因为未正确解析响应。在此情况下,我们可以使用RxJS的高级操作符来解决此问题。以下是解决方法的代码示例:
import { Observable } from 'rxjs/Observable';
import { map, distinctUntilChanged } from 'rxjs/operators';
private extractData(res: Response): Array {
const data = res.json();
return data || [];
}
getItems(): Observable {
return this.http.get('https://my-firebase-app.firebaseio.com/Items.json')
.pipe(
map(this.extractData),
distinctUntilChanged()
);
}
这样我们就通过使用map和distinctUntilChanged操作符成功解决了Firebase返回重复数组的问题。