我使用的是上一个Angular版本(7)。
HttpClient post()
仅接受观察者吗?
我遇到一个问题,当我尝试使用Promises链时,链的一个节点包含计算,第二部分(.then
之后)包含对服务器的请求:http.post()
并返回观察者以进行订阅。
如何等待响应并在第二个Promise中返回?
赞:
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.
答案 0 :(得分:0)
您可以使用Observable的.toPromise()函数,类似于get().toPromise().then()