为什么我不能在打字稿中访问加载的对象数组中的对象的属性?

问题描述 投票:0回答:0

所以,我不能全神贯注于这个问题......

基本上,我在一个类中有一些变量和一个构造函数:

currentUser: UserModel | null = null;
currentServer: ServerModel | null = null;
serverMembers: UserModel[] = [];

constructor(
  private modalService: MdbModalService,
  private userDataProvider: UserDataProvider,
  private serverDataProvider: ServerDataProvider
) {
  this.currentUser = this.userDataProvider.getCurrentUser();

  this.serverDataProvider
    .loadServerMembers()
    .pipe(
      mergeMap((members) => from(members)),
      mergeMap((member) => this.userDataProvider.getUserById(member.id)),
      toArray(),
      tap((resolvedMembers) => {
        console.log(resolvedMembers);
        console.log(resolvedMembers[0]);
        console.log(resolvedMembers[0].userName);
        this.serverMembers = resolvedMembers;
      })
    )
    .subscribe();
}

控制台日志的输出分别是:

// console log 1
0: {id: 1, userName: 'Jeff'}
1: {id: 2, userName: 'John'}

// console log 2
{id: 1, userName: 'Jeff'}

// console log 3
undefined

问题是第三个控制台日志似乎无法读取对象属性值,即使用户名有一个值。我的问题是到底是什么,为什么???

arrays typescript object properties undefined
© www.soinside.com 2019 - 2024. All rights reserved.