成功响应后,一个接一个地执行HTTP请求

时间:2018-01-30 17:34:39

标签: node.js

我正在执行以下代码以在Node.js应用程序中运行HTTP POST请求并且它正常工作。

<table>

我的问题是,我需要再执行1个HTTP POST请求和1个以上的HTTP GET请求以及每个成功的响应。例如,从上面的代码中,我需要在成功响应现有代码时执行另一个HTTP POST请求。

如何基于上述成功响应,一个接一个地调用另一组HTTP请求?

请告知或分享我的参考资料。

1 个答案:

答案 0 :(得分:1)

您可以采用与第一次请求相同的方式进行此操作。

var http = require('http');
var request = require('request');

http.createServer(function handler(req, res) {
    //res.writeHead(200, {'Content-Type': 'text/plain'});
    //res.end('Hello World\n');

    var postData = {
              'name': 'in2_instance',
              'format': 'json',
              'auto.offset.reset': 'earliest',
            }

    var options = {
            url: 'http://localhost:8082/consumers/my_test_consumer',
            method: 'POST',
            body : JSON.stringify(postData),
            headers: {
                'Content-Type': 'application/vnd.kafka.v2+json'
            },

        }

        request(options, function(error, response, body){
            if(error) console.log(error);
            else {
                console.log(JSON.stringify(response));
                var options1 = {
                    url: '<new URL>',
                    method: 'POST',
                    body : JSON.stringify(postData),
                    headers: {
                        'Content-Type': 'application/vnd.kafka.v2+json'
                    },
                }

                request(options1, function(error, response2, body) {    
                    if(error) console.log(error);
                    else {
                            // Your GET request call
                    }
                }        
            }
        });
    }).listen(1337, '127.0.0.1');
    console.log('Server running at http://127.0.0.1:1337/');