Angular 如何等待一个订阅继续

Angular how to await for one subscribe to continue

如何等待订阅以继续我的代码序列?

我的订阅是一个函数,但我只想在这个订阅执行时完成这个函数。

我的订阅:

this.massService.getMass(token, userId).subscribe((data: IMass) => {
    // Execution
})

我的服务

getMass(token: string, userId: string): Observable<IMass> {
    const httpParams = new HttpParams().set('userId', userId);

    const options = {
        params: httpParams,
        headers: new HttpHeaders().set('Authorization', 'Bearer ' + token)
    };
    return this.http.get<IMass>(environment.apiUrl + '/mass', options);
}

您可以将 observable 转换为 promise,例如:-

this.massService.getMass(token, userId).pipe(take(1),tap((res) => //execution)).toPromise();

像使用 promise 一样使用 await。