если вы работаете с потоками, думайте о потоках, не мешйате с async await и тд. Здесь у вашего потока есть pipe, после выполнения можно строить красивые цепочки, тот же tap, switchMap и тд
а как правильно сделать, если не в subscribe, у меня есть forkJoin, внутри него 2 метода, которые в tap присваивают данные, я не хочу это в subscribe делать