我有三个组件A
,B
和C
。当A
向 发送 HTTP 请求时B
,B
向 发送另一个 HTTP 请求C
,检索相关内容并将其发送回A
,作为 HTTP 响应。
该B
组件由以下 Node.js 片段表示。
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;
}
body
我需要作为remoterequest
函数的结果返回内容。我注意到,目前,POST 请求是异步的。因此,在将returnedvalue
变量返回给调用方法之前,永远不会分配变量。
如何执行同步 HTTP 请求?