【发布时间】:2018-10-31 02:20:46
【问题描述】:
我有三个组件A、B 和C。
当A 向B 发送HTTP 请求时,B 向C 发送另一个HTTP 请求,检索相关内容并将其作为HTTP 响应发送回A。
B 组件由以下 Node.js sn-p 表示。
var requestify = require('requestify');
// sends an HTTP request to C and retrieves the response content
function remoterequest(url, data) {
var returnedvalue;
requestify.post(url, data).then(function(response) {
var body = response.getBody();
// TODO use body to send back to the client the number of expected outputs, by setting the returnedvalue variable
});
return returnedvalue;
}
// manages A's request
function manageanotherhttprequest() {
// [...]
var res = remoterequest(url, data);
// possible elaboration of res
return res;
}
由于remoterequest 函数,我需要返回body 内容。
我注意到,目前,POST 请求是异步的。因此,returnedvalue 变量在返回给调用方法之前永远不会被赋值。
如何执行同步 HTTP 请求?
【问题讨论】:
标签: node.js web-services http asynchronous requestify