I try not to use subscribe either, but it's not a fishy thing. You load product on click, so I don't think you can avoid it here. Actually you don't need to unsubscribe, if getProduct in productService is completed after the first emission.
getProduct
productService