我使用Map来存储数据,该数据取决于我在类下定义的用于获取这两个参数的2个参数
export class TaskParameters {
serviceId: number;
servicePartnerId: number;
constructor(_serviceId, _servicePartnerId) {
this.serviceId = _serviceId;
this.servicePartnerId = _servicePartnerId;
}
}
并在“映射本地变量”下定义以将其保存在本地
private serviceTaskList = new Map<TaskParameters, Array<ServiceWithTasks>>();
这是我要提出API请求时的代码,我不想再提出其他API请求之前检查是否获得了这些数据,但我知道我的数据有时是空列表,如下所示:[ ] 当我登录MAP列表时,我发现上面没有保存任何内容,而且似乎无法正常工作。
public hasTask(rowIndex: number): boolean {
let hasTasks = false;
const formGroup = this.getFormGroup(rowIndex);
const contractPosition = this.formDataExtensionData.get(formGroup);
const taskParents = new TaskParameters(contractPosition.serviceId, contractPosition.servicePartner.servicePartnerId);
if (!this.serviceTaskList.get(taskParents)) {
this.servicesService
.getServiceTasks(contractPosition.serviceId, this.clearingCaseId, contractPosition.servicePartner.servicePartnerId)
.pipe(takeUntil(this.ngUnsubscribe))
.subscribe((data: ServiceWithTasks[]) => {
this.serviceTaskList.set(taskParents, data);
hasTasks = data.length > 0 ? true : false;
});
return hasTasks;
}
}