карта() не похоже на работу - PullRequest
0 голосов
/ 19 сентября 2019

Я использую Map для хранения данных, которые зависят от 2 параметров, которые я определил ниже класса для получения этих двух параметров

export class TaskParameters {
serviceId: number;
servicePartnerId: number;
constructor(_serviceId, _servicePartnerId) {
    this.serviceId = _serviceId;
    this.servicePartnerId = _servicePartnerId;
   }
}

и определили ниже Map local variable для локального сохранения

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;
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...