在下面的函数中,我有两次调用服务器,一次使用Observable,另一次使用Promise。使用Observable的调用不会到达服务器,而是使用promise的调用。知道为什么吗?
public placeOrder(order:string) {
//Using Observable
this.http.post(this.newOrderUrl, {order: order}, this.options)
.map((response:Response) => {
console.log('new order', response.json())
})
//Using Promise
this.http.post(this.newOrderUrl, {order: order}, this.options)
.toPromise()
.then((response:Response) => {
console.log('new order', response.json())
})
}
答案 0 :(得分:1)
如果使用Observable
,则需要返回response.json() return this.http.post(this.newOrderUrl, {order: order}, this.options)
.map((response: Response) => response.json()
);
并在您的组件中,使用subscribe()
进行调用this._myservice.placeOrder('somestring').subscribe((orders: any) => {
});