Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何获得对ejs的多个BodyResponse_Node.js_Express_Ejs_Requestjs - Fatal编程技术网

Node.js 如何获得对ejs的多个BodyResponse

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循环中,第一个响应被发送,连接被关闭,当第二次迭代失败时,会出现您看到的错误。 您必须等待两个调用并行完

我使用forEach循环向两个不同的路径发出请求,但是,尽管它对console.log()和bodyResponses都有响应,但在试图将其保存为使用其值呈现“index.ejs”时,它会出错。(index.ejs是我要渲染的模板):

它会将这两个响应都记录到console.log中,但我在render()中遇到了以下错误:


错误:发送后无法设置头。

您只能对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});
        }
    });
});