Конвертировать наблюдаемый <Object>в пользователя [] - PullRequest
0 голосов
/ 14 июня 2019

Я хочу преобразовать Observable в User [].

После поиска в Google я нашел решение НО, преобразование выполняется только внутри карты.

    users : User[] = [];

    this.userService.getUsersList() // Observable<Any>
          .map((listUsers: Array<any>) => {
           let result:Array<User> = [];
            if (listUsers) {
              listUsers.forEach((erg) => {
                result.push(new User(erg.id, erg.name, erg.username, erg.email, erg.password, erg.age, erg.active, erg.roles));
              });
            }
            console.log('----------------Size: ' + result.length);  // Output: 5 --> TRUE
            return result;
          })
          .subscribe(users => this.users = users);



     console.log('----------------Size: ' + result.length);        // Output: 0 --> FALSE

Так что все в порядке, яможно получить размер массива User [] внутри карты.Моя проблема в том, как я могу получить размер или прочитать массив User [] за пределами карты.

Заранее спасибо.

1 Ответ

0 голосов
/ 04 июля 2019

Попробуйте использовать обещание .

Пример для служебного файла:

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

, затем на контроллере, попробуйте использовать async, wait и then.

Попробуйте обратиться к этой теме

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