Переход от наблюдаемых к обещаниям - это шаг назад.
Это похоже на переход с Porsche 911 на Fiat multipla.
Так что нет, вы не должны использовать toPromise()
, и нет, ваш путь не "лучше" (это эго, приятель!)
Я думаю, что мой подход лучше, потому что он сильно напечатан и чище.
Ввод HTTP-ответа зависит не от вида или наблюдаемого, а от самого разработчика. И чище это вопрос перспективы, лично я ненавижу видеть toPromise()
с.
И главный недостаток вашего решения заключается в том, что, превратившись в обещание, вы больше не можете ничего транслировать, делая ваши функции менее универсальными.
Но их код тоже не самый лучший. Обычно такое поведение используется для магазинов и кешей, вы уверены, что не пропустили что-то?
В любом случае, если нет, и я полагаюсь только на предоставленный код, это будет правильный код:
public getCustomers() {
return http.get<Customer[]>('/customers');
}
....
public ngOnInit() {
this.customerService.getCustomers()
.subscribe((customers) => {...})
}