Как правильно продолжить асин c вызов шаблона в Angular? - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть метод, который должен вызывать асинхронный метод c, который использует Observable и должен возвращать значение. Это значение получено при вызове метода asyn c.

У меня есть два способа решения этой проблемы:

Способ 1: использование обещания

methodThatUseAPromise(){

      const promise:Promise<...>= new Promise((resolve, reject) =>
                     {
                          service.someObservableMethod(...).subscribe(
                                    data => resolve(data),
                                    error => reject(error))
                     });

      return promise;

}

Затем этот метод называется:

methodThatuseAPromise().then(....)

Способ 2: Использование субъекта

methodThatUseASubject() {

   subject:Subject<...>= new Subject();

   service.someObservableMethod(...).subscribe(
                                        data => subject.next(data),
                                        error => subject.error(error))


   return subject;

}

Затем этот метод называется:

methodThatUseASubject().subscribe(....)

Каков наилучший способ сделать это?

Спасибо.

...