繁体   English   中英

Angular Firestore 在 console.log 上重复 output

[英]Angular Firestore duplicates output on console.log

我正在尝试获取所选数据的 id,并在 console.log 上对其进行测试,但它总是 output 2 次。 这张照片显示了 console.log 的 output。

在此处输入图像描述

我只希望它获取一次 id,然后将其转移到另一个集合。 我正在做的方法是存档而不是删除。 我已经成功地将它复制到另一个表,但它被重复了,这就是为什么我只在控制台上先测试它。

虽然这些是我单击删除按钮时的代码

员工服务.ts

import { Injectable } from '@angular/core';
import { AngularFirestore } from '@angular/fire/compat/firestore';
import { Observable } from 'rxjs';
@Injectable({
     providedIn: 'root'
})

export class EmployeeService {
     constructor(private firestore: AngularFirestore) { }

     deleteEmployee(id: string): Promise<any> {
          return this.firestore.collection('employees').doc(id).delete();
      }
}

列表-employees.component.ts

deleteEmployee(id: string) {
this._employeeService.getEmployee(id).subscribe(data => {
  console.log(id);
   })
}

请帮忙,如果我需要一些必要的代码来显示,请告诉我,谢谢!

尝试first添加或take(1)

deleteEmployee(id: string) {
  this._employeeService.getEmployee(id).pipe(first()).subscribe(data => {
    console.log(id);
  });
}

否则,您将在删除后继续收听员工的更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM