При использовании Observables вы должны подписаться на них.Фактический пользователь наблюдаемого должен подписаться (), потому что без подписки () наблюдаемое не будет выполнено вообще.
subscribe () возвращает подписку, на которую нельзя подписаться, но ее можно использовать для отмены подписки.
getCategory (): Observable<any> {
return this.http.post(this.apiUrl,{}).subscribe(
//Do whatever
(res)=> console.log(res),
(error)=> console.log(error)
);
}
Для получения дополнительной информации см. Документацию Angular для Observables.: https://angular.io/guide/observables.
Кроме того, помните, что большинство подписок завершается само по себе, но всегда полезно завершать их, используя ngOnDestroy();
, чтобы избежать утечек памяти.
Какиспользовать ngDestroy ()? В вашем файле component.ts Убедитесь, что у вас есть импорт
import { Component, OnDestroy, OnInit } from '@angular/core';
export class YourComponent implements OnInit, OnDestroy {
.
.
.
ngOnDestroy() {
this.response.unsubscribe();
}
}
Теперь, относящийся к вашей проблеме CORS, обратитесь к вопросу, который был задан ранее в stackoverflow: Ответ на предполётный запрос не проходит проверку контроля доступа