я хочу остановить выполнение, пока this.conn.getUserByAlternateNumber не закончит работу и не вернет значение - PullRequest
0 голосов
/ 04 января 2019

в этом коде я хочу установить значение в где объект перед обработкой на следующую строку, но сразу после this.conn.getUserByAlterNumber выполнение уходит в if (this.doctorFilter && this.doctorFilter.length) без ожидания ответа от функции и, таким образом, this.conn.getOrders получает пустой объект на месте, где мой фильтр не работает, как остановить выполнение, пока this.conn.getUserByAlternateNumber не вернет значение.

loadMore(offset: number): Promise<any> {
    let where: any = {};
    this.filters.forEach((item: any) => {
      if (item.key === 'alternateNumber') {
        this.conn.getUserByAlternateNumber(item.value)
          .then((user: any) => {
            where['contactName'] = user[0].attributes.PatientName;
            console.log(where,'>>>>>');
          });
      } else {
        (where[item.key] = item.value);
      }
    });
    if (this.doctorFilter && this.doctorFilter.length) {
      where.allocatedDoctor = this.doctorFilter;
    }
    console.log(where);
     return this.conn.getOrders({
      where,
      include: ['user', 'allocatedDoctor'],
      limit: this.ui.grid.pageSize,
      asc: this.OrderAsc,
      offset,
    })
      .then((items: any) => this.zone.run(() => Promise.resolve(items.map((i: any) => JSON.parse(JSON.stringify(i))))));
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...