簡體   English   中英

Angular:在返回結果之前等待 function 內的 Observable

[英]Angular: wait for Observable inside a function before returning result

我需要以下 function 的幫助:

  getUser(uuid: string): Observable<WowUserDataModel> {
    let user: WowUserDataModel = {
      login: null,
      userUuid: uuid,
      firstName: null,
      lastName: null,
      displayName: null,
      email: null,
      authorities: null
    };

    return this.http.get(WowUrlProvider.gateway.wowUserAuthorities.replace('{userUuid}', uuid.toUpperCase())).pipe(
      map((authorities) =>
        user.authorities = authorities,
      )
    );
  }

我需要的是:等待this.http.api調用(返回Observable)完成,將結果分配給user.authorities,然后才返回整個用戶的Observable ZA8CFDE6331BD4B66AC96F8911(單個用戶C)

現在發生了什么: function 只返回權限屬性,而不是整個用戶 object

這可以在不改變 function 的返回類型的情況下實現嗎?

getUser(uuid: string): Observable<WowUserDataModel> {
  // ...
    return this.http.get(WowUrlProvider.gateway.wowUserAuthorities.replace('{userUuid}', uuid.toUpperCase())).pipe(
      map((authorities) => {
       user.authorities = authorities;
       return user;
      })
    );
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM