节点异步和http多个发布请求

时间:2018-11-18 11:29:11

标签: node.js asynchronous foreach http-post async.js

async.forEachOf([some ids], function (value, key, callback) {
let post_options = {
    host: 'localhost',
    port: '5000',
    path: '/predictans',
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
    }
};

let post_data = {
    //some data using the value
};

let post_req = http.request(post_options, function (resp) {
    resp.on('data', (ans) => {

        //save the answer

        //do the second POST request
        callback();
    });
});

post_req.write(post_data);
post_req.end();

}, function (err) {
    console.log('some error');
});

我想将多个POST请求发送到同一服务器。我想首先从第一个请求获取响应,然后发送下一个请求,依此类推。 但是,我的代码一次发送了所有请求。我犯了什么错误?

1 个答案:

答案 0 :(得分:0)

触发“结束”事件时,请求完成。 将“数据”替换为“结束”事件。

resp.on("end",()=>{callback()});