не может получить доступ к значению изнутри, затем извне Promise - PullRequest
0 голосов
/ 05 июля 2019

Я пытаюсь получить значение изнутри наружу, затем использую обещание.

В моем контроллере у меня есть:

async Sample(userId: number)
  {
      let data = this.userService.getAffectedExpertisesPromise(userId);
      await data.then((uri) =>
      {
          uri.forEach((exp: Expertise) =>
          {
              this.empList.push(exp.name);
          });
      })

      return this.empList;
  }

Вкл. ngOnInit , я вызываю эту функцию:

this.Sample(25).then(item =>
                    {
                        item.forEach((expLibelle: String) =>
                        {
                            listExp.push(expLibelle);
                        });
                        console.log("------------------------ List Size Inside: " + listExp.length);
                    });

      console.log("------------------------ List Size Outside : " + listExp.length);

В файле службы пользователя файл, у меня есть:

getAffectedExpertisesPromise(id: number): Promise<any>
    {
        return this.http.get(`${this.baseUrl}/users/expertisesObj/${id}`).toPromise();
    }

Производит:

------------------------ Размер списка снаружи: 0

------------------------ Размер списка внутри: 3

Как вы видели:

  • размер внутри then равен 3 -> Правильный ответ
  • размер внутри then равен 0 -> Неправильный ответ

Не могли бы вы помочь мне решить эту проблему?

Большое спасибо.

1 Ответ

1 голос
/ 09 июля 2019

Почему бы не попробовать использовать XMLHttpRequest.

var request = new XMLHttpRequest();
request.open('GET', 'http://localhost:6227/api/auth/users', false);  
request.send(null);

HTH.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...