Angular httpClient-RXJS使用

我想知道以下用法是否是从外部API提取数据的有效方法。

getProducts(): Promise<Array<Product>> {
return new Promise((resolve, reject) => {
  this.httpClient.get<[Product]>(this.apiURL, { responseType: 'json' })
    .pipe(
      retry(3),
      first(),
      tap(
        data => resolve(data),
        error => reject(error)
      )
    ).subscribe();
});

}

特别是我担心.subscribe()部分,如果没有订阅我就无法执行tap()。 我是Angular-RxJs-TypeScript的新手,请原谅。