【发布时间】:2019-02-08 20:46:24
【问题描述】:
我正在尝试从 Firestore 数据库加载我的员工集合,并且我想为每个员工加载一个“工作日”,它是“员工”子集合的文档。这是我的代码:
loadEmployees() {
return new Promise<Employee[]>(resolve => {
this.db.collection('Employees').snapshotChanges().pipe(
map(changes => changes.map(async a => {
const employee = a.payload.doc.data() as Employee;
employee.id = a.payload.doc.id;
employee.workday = await this.loadWorkday(employee); // <-- returns a Promise<Workday>
return employee;
}))
).subscribe(
employees => {
resolve(employees); // Error: <--- Promise<Employee>[]' is not assignable to parameter of type 'Employee[]
}
);
});
}
但我收到语法错误Promise<Employee>[]' is not assignable to parameter of type 'Employee[]。我不知道如何获得Promise<Employee>[] 的Employee[],以便调用resolve。
【问题讨论】:
标签: javascript typescript firebase async-await google-cloud-firestore