【发布时间】:2020-12-25 19:39:30
【问题描述】:
我有一个带有 express 应用程序的节点 js。我需要公开一个将返回 http 调用响应的休息端点。无论我尝试什么,它都会在 http 请求之前返回。你能帮忙吗
app.all('/query', function(req, res){
// here i need to make a http call
let urlCall = new Promise((resolve, reject) => {
http.get('http://test.com', (response) => {
let sdata = '';
response.on('data', (fragments) => {
sdata += fragments;
});
response.on('end', () => {
let response_body = sdata;
resolve(response_body.toString());
});
response.on('error', (error) => {
// promise rejected on error
reject(error);
});
});
});
urlCall.then((response) => {
var responseData=response;
res.json(responseData);
res.end();
}).catch((error) => {
console.log(error);
res.end();
});
}
【问题讨论】:
-
你为什么用
new Promise?
标签: javascript node.js express http promise