Я создаю angular приложения с вызовами api с использованием httpclient, я не использую для этого никаких пакетов или плагинов, только httpclient.
Вот мой пример кода в service.ts
getAdminMateriDetail(slug: any) {
return this._http.get(this.apiURL + 'admin/material/' + slug).pipe(
tap(console.log),
shareReplay(1),
tap(() => console.log('Materi Detail after sharing'))
)
}
Я пытаюсь получить подробную информацию о материалах с сервера, и в моем компоненте
getCurrentMateriDetail() {
return this.userService.getAdminMateriDetail(this.slug).subscribe(
(data:any) => {
this.currentMateri = data.data;
},
error => {
console.log(error);
}
)
}
ngOnInit() {
this.getCurrentMateriDetail();
}
я использую этот код на каждой странице, которая нуждается в данных с сервера, но я получаю неожиданный результат, поэтому, когда Я перехожу к компоненту, который вызывает api, и подписываюсь на этот api, мой компонент был пуст на пару секунд, иногда это быстро. Я новичок в использовании вызовов api, это нормально? или, может быть, я могу улучшить его, чтобы он работал быстрее, чтобы пользователь не видел «пустую страницу»?
Я также читал о кешировании, и я нашел shareReplay(1)
, поэтому я добавляю его в свой код, но все еще пустой на пару секунд. может кто-нибудь назвать мне причину?