我正在使用连接到Firestore的以前Rxjs版本代码库中的代码,我更改了所有内容以使用正确的导入,并添加了.pipe(map)。我说“ [ts]属性'pipe'在'DocumentChangeAction []类型上不存在”。这是我的职能给我的问题。谢谢。
private mapAndUpdate(col: AngularFirestoreCollection<any>) {
var values;
if (this._done.value || this._loading.value) { return };
this._loading.next(true)
// Map snapshot with doc ref (needed for cursor)
return col.snapshotChanges()
.pipe(tap(arr => {
values = arr.pipe(
map((snap: any) => {
const data = snap.payload.doc.data();
const doc = snap.payload.doc;
return { ...data, doc };
}))
));
// If prepending, reverse array
values = this.query.prepend ? values.reverse() : values
// update source with new values, done loading
this._data.next(values)
this._loading.next(false)
// no more values, mark done
if (!values.length) {
this._done.next(true)
}
})
.take(1)
.subscribe()}
答案 0 :(得分:1)
问题出在git rebase foo bar
运算符内部:
bar
tap
是tap(arr => {
values = arr.pipe(
map((snap: any) => {
const data = snap.payload.doc.data();
const doc = snap.payload.doc;
return { ...data, doc };
}))
));
的数组,不可观察。您必须映射每个项目。结果已经计算完毕,因此无需再次使用Observable
arr
答案 1 :(得分:0)
您导入了这些吗?
// Complete the hourglassSum function below.
int hourglassSum(vector<vector<int>> arr) {
int max = INT_MIN;
vector<int> sums;
for (int i = 1; i < 5; i++)
{
for (int j = 1; j < 5; j++)
{
sums.push_back(arr[i][j] +
arr[i - 1][j-1] +
arr[i-1][j] +
arr[i-1][j+1] +
arr[i + 1][j - 1] +
arr[i+1][j] +
arr[i + 1][j + 1]);
}
}
for (int g = 0; g < sums.size(); g++) {
cout << sums[g] << endl;
}
for (int k = 0; k < sums.size(); k++)
{
if (sums[k] > max)
{
max = sums[k];
}
}
return max;
}