Node.js 如何获得对ejs的多个BodyResponse
我使用forEach循环向两个不同的路径发出请求,但是,尽管它对console.log()和bodyResponses都有响应,但在试图将其保存为使用其值呈现“index.ejs”时,它会出错。(index.ejs是我要渲染的模板): 它会将这两个响应都记录到console.log中,但我在render()中遇到了以下错误:Node.js 如何获得对ejs的多个BodyResponse,node.js,express,ejs,requestjs,Node.js,Express,Ejs,Requestjs,我使用forEach循环向两个不同的路径发出请求,但是,尽管它对console.log()和bodyResponses都有响应,但在试图将其保存为使用其值呈现“index.ejs”时,它会出错。(index.ejs是我要渲染的模板): 它会将这两个响应都记录到console.log中,但我在render()中遇到了以下错误: 错误:发送后无法设置头。您只能对HTTP请求响应一次。因此,在FOR循环中,第一个响应被发送,连接被关闭,当第二次迭代失败时,会出现您看到的错误。 您必须等待两个调用并行完
错误:发送后无法设置头。您只能对HTTP请求响应一次。因此,在FOR循环中,第一个响应被发送,连接被关闭,当第二次迭代失败时,会出现您看到的错误。 您必须等待两个调用并行完成,然后启动一个函数以发送响应
manyPaths.forEach(function (element){
var signature = crypto.createHmac('sha256', apiSecret).update(verb + element.path + expires).digest('hex');
var headers = {
'content-type' : 'application/json',
'Accept': 'application/json',
'X-Requested-With': 'XMLHttpRequest',
'api-expires': expires,
'api-key': apiKey,
'api-signature': signature
};
const requestOptions = {
headers: headers,
url:'https://testnet.bitmex.com'+element.path,
method: verb
};
request(requestOptions, function(error, response, bodyResponse) {
if (error) {
console.log(error);
} else {
console.log(bodyResponse);
bodyResponse=JSON.parse(bodyResponse);
res.render("index", {bodyResponse:bodyResponse});
}
});
});