Node.js 我可以看到node express服务器响应,但我无法在angular2 promise服务中使用它

Node.js 我可以看到node express服务器响应,但我无法在angular2 promise服务中使用它,node.js,angular,express,typescript,es6-promise,Node.js,Angular,Express,Typescript,Es6 Promise,我从服务器响应返回了我的对象,我可以在谷歌chrome开发工具上的网络选项卡响应中看到 module.exports = (req, res) => { var obj = { name: "Thabo", age: 23 }; res.json({obj}) }; 我有angular2 typescript服务,它使用承诺从服务器获得可观察的响应 export class MyService { constructor(private http: Http)

我从服务器响应返回了我的对象,我可以在谷歌chrome开发工具上的网络选项卡响应中看到

module.exports = (req, res) => {   
var obj = {
    name: "Thabo",
    age: 23
};
res.json({obj})
};
我有angular2 typescript服务,它使用承诺从服务器获得可观察的响应

export class MyService {
  constructor(private http: Http) { }
  getMessage(): Promise<any> {
return this.http.get('/map-moving-agents')
           .toPromise()
           .then((res)=> {
             console.log(res.json().data);
             res.json().data;
            })
           .catch(this.handleError);
}

private handleError(error: any): Promise<any> {
console.error('An error occurred', error); 
return Promise.reject(error.message || error);
}
}

您需要返回最终值,以便代码的其余部分使用

  return this.http.get('/map-moving-agents')
       .toPromise()
       .then((res)=> {
         console.log(res.json().data);
         return res.json().data;    <--------------
        })
       .catch(this.handleError);
}
返回此.http.get(“/map moving agents”)
.toPromise()
。然后((res)=>{
log(res.json().data);

return res.json().data;您需要返回最终值,以便其余代码使用

  return this.http.get('/map-moving-agents')
       .toPromise()
       .then((res)=> {
         console.log(res.json().data);
         return res.json().data;    <--------------
        })
       .catch(this.handleError);
}
返回此.http.get(“/map moving agents”)
.toPromise()
。然后((res)=>{
log(res.json().data);
返回res.json().data;
将记录未定义的
,因为
getMessage()
函数是一个
async
函数

换成

getMessage(): void {
    this.myService.getMessage().then((res) => { 
        this.msg = res;
        console.log(this.msg);
    });         
}
而且您的响应没有
data
字段,因此
res.json().data;
将是
undefined
仅返回
res.json()
res.json().obj

将记录未定义的
,因为
getMessage()
函数是一个
async
函数

换成

getMessage(): void {
    this.myService.getMessage().then((res) => { 
        this.msg = res;
        console.log(this.msg);
    });         
}


而且您的响应没有
data
字段,因此
res.json().data;
将是
undefined
仅返回
res.json()
res.json().obj

@Teebo如何将我的答案与@SimonH的结合起来?将返回语句添加到
res.json()).data
console.log
就像我做的一样这正是我做的哈哈哈!我真的很感激兄弟,耶!哦,是的,模糊的勾号,我刚刚做了,:D但不是green@Teebo你点击了它,但它没有变成绿色O@Teebo将我的答案与@SimonH结合起来怎么样?将return语句添加到
res.json()中.data
console.log
就像我做的一样这正是我做的哈哈哈!我真的很感激兄弟,耶!哦,是的,模糊的勾号,我刚刚做了,:D但不是green@Teebo您单击了它,但它没有变为绿色?:o您可以添加网络选项卡的屏幕截图和响应吗?我刚刚添加了不是网络的屏幕截图rk tab我现在都有了,很抱歉,你能在回复中添加网络选项卡的屏幕截图吗?我刚刚添加了不是网络选项卡的屏幕截图,我现在都有了,很抱歉