paraBirims: ParaBirimi[];
Get_All(adres: any): Observable < T[] > {
    return this.http.get < T[] > (this.base + "/" + adres);
}
getParaBirims(): ParaBirimi[] {
    this.genericParaBirim?.Get_All("ParaBirimis/Generic_Method").subscribe({
        next: (data) => {
            this.paraBirims = data
        },
        error: (err) => {},
        complete: () => {}
    });
}

Я хочу, чтобы он давал мне список в качестве возврата в приведенном выше коде (getParaBirims). Как мне написать?

this.paraBirims = getParaBirims();
0
Enes Nizam 4 Фев 2022 в 14:05
Что говорит документация по методу subscribe?
 – 
T.J. Crowder
4 Фев 2022 в 14:09
subscribe() возвращает объект Subscription.
 – 
martin
4 Фев 2022 в 14:16
Нет никаких ресурсов, чтобы предположить, что это можно сделать. Мне просто интересно, можно ли его настроить. Я не хочу каждый раз читать один и тот же список в разных источниках. Я хочу извлечь из одного машинописного файла и использовать его
 – 
Enes Nizam
4 Фев 2022 в 14:20

2 ответа

Ваша функция getParaBirims() должна возвращать подписку, и вы должны использовать эту подписку, подписавшись на нее в своих службах и/или компонентах или через канал async.

0
dopoto 4 Фев 2022 в 14:19

Я бы рекомендовал использовать файл environment.ts для определения ваших префиксов URL. Таким образом, вы можете изменить их в зависимости от того, в какой среде вы запускаете приложение.

Как сказал dopoto, лучше просто определить Observable и подписаться на него в компоненте. Мы можем удалить много шаблонного кода из вашего кода и сделать следующее.

public paraBirims$: Observable<ParaBirimi[]>;

constructor(private http:HttpClient){
  this.paraBirims$ = this.http
   .get<ParaBirimi[]>(`${environment.url}/ParaBirimis/Generic_Method`);
}
0
Joshua McCarthy 4 Фев 2022 в 14:52