返回可观察值时,API有效负载会发生变化

时间:2019-07-17 02:04:30

标签: javascript typescript angular-cli-v6

我有一个数据服务,该服务返回JSONP API调用的Observable。当我在服务中订阅和控制台日志时,我得到了一组适当的数据。如果我将Observable返回到组件并在其中进行订阅,则控制台日志将显示有效负载中的值之一的其他值(缺少数组之一的值)。

我已经使用Postman验证了数据服务中显示的值是正确的,但是当Observable返回到组件并被订阅时,有效负载将丢失数组。

这是我的数据服务方法

`

getValuePlan(): Observable<ValuePlan> {
  let leader = this.GlobalService.getSelectedLeader();

  let qString = "getValues/?";
  if(leader) qString += "id=" + leader.leader.id;

  //** THIS shows proper values
  this.http.jsonp<ValuePlan>(this.apiUrl + qString, 'callback')
    .subscribe(payload => {
        console.log("CONSOLE 1")
        console.log(payload)
    });

  //** THIS returns the observable which is missing a value
  return this.http.jsonp<ValuePlan>(this.apiUrl + qString, 'callback');      
}

`

这是对此数据服务的组件调用

`

this.dataApiService.getValuePlan()                               
    .subscribe(payload => {
        //** THIS shows the payload with one missing array
        console.log("CONSOLE 2")                                    
        console.log(payload)    
    });     

`

返回的有效负载是一个相当大的JSON对象,但是缺少的数组嵌套在该对象的2个层次深处,这是唯一的不同之处。

0 个答案:

没有答案