HttpClient сообщение принимает только наблюдатели? - PullRequest
0 голосов
/ 31 октября 2018

Я использую последнюю версию Angular (7).

HttpClient post() принимает только наблюдателей?

У меня проблема, когда я пытаюсь использовать цепочку Обещаний, один узел цепочки содержит вычисления, вторая часть (после .then) содержит запрос к серверу: http.post() и возвращает наблюдателя для подписки.

Как дождаться ответа и вернуть его во втором Обещании?

Как это:

return new Promise(resolve => {
     let observer = get().subscribe((data => {
       resolve(data);
     });
});

По умолчанию HttpClient post() возвращает ответ наблюдателя, поэтому можно ли преобразовать его в ответ Promise для использования в цепочечных обещаниях?

Я пытался преобразовать Observer в Promise:

return this.http.post('', data).toPromise().then((r) => {
      console.log(r);
      resolve(r);
    });

console.log(r); gives me undefined.

1 Ответ

0 голосов
/ 31 октября 2018

Вы можете использовать функцию .toPromise () в Observable, что-то вроде get().toPromise().then()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...