gpt4 book ai didi

javascript - 为什么 request-promise 没有将结果返回给 postman 和 Angular 2 的 map ?

转载 作者:行者123 更新时间:2023-12-03 03:24:46 26 4
gpt4 key购买 nike

我们有一个 Angular 4 service具有这样的功能:

callPostAPI() {

var headers = new Headers();
headers.append('Content-Type', 'application/json');

let options = {}; //passing no options

return this.http.post('http://localhost:9000/v1/api/testapi', options, {
headers: headers
})
.map((response: Response) => {

return response.json();
})
.catch((error: Response) => {
return Observable.throw(error || 'server error');
});
}

rp函数是这样的:

app.post("/v1/api/testapi", (req, res) => {

rp({
method: 'GET',
url: 'http://maps.googleapis.com/maps/api/geocode/json',
qs: {
address: '66309'
}
})
.then(res => {
console.log(res); //proper results received
return res;
}).catch(err => {
return err;
});
}

但是,当从 postman 调用时,这不会返回任何响应。或者通过 Angular 4 服务功能。

结果已收到,我们也可以在控制台上看到它们。所有这些都可以在没有 header 的情况下工作。

Why is request-promise not returning the results?

最佳答案

您永远不会在服务器端处理请求 promise 的结果。我假设您使用的是 Express,请尝试以下操作:

app.post("/v1/api/testapi", (req, res, next) => {

rp({
method: 'GET',
url: 'http://maps.googleapis.com/maps/api/geocode/json',
qs: {
address: '66309'
}
})
.then(result => {
console.log(res); //proper results received
return res.status(200).json(result);
}).catch(next);
}

关于javascript - 为什么 request-promise 没有将结果返回给 postman 和 Angular 2 的 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46382727/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com