将一个API调用的响应传递给另一个API

时间:2016-11-29 05:05:47

标签: node.js request async.js

我有两个网址,它们会添加新用户并按顺序编辑用户。如何将第一个请求的输出作为输入传递给第二个请求。

http://localhost:3010/postuser
{"name":"xyz"}
// response will be unique id =>001

http://localhost:3010/putuser
{"id":001} //Get the output of first request as input here

以下是我的代码

function httpGet(options, callback) {
    request(options,
        function (err, res, body) {
            callback(err, body);
        }
    );
}
const urls = [
    {
        url: 'http://localhost:3010/postuser',
        method: 'POST'
    },
     {
        url: 'http://localhost:3010/putuser',
        method: 'PUT'
    }
];
async.mapSeries(urls, httpGet, function (err, res) {
    if (err) return console.log(err);
    console.log(res);
});

1 个答案:

答案 0 :(得分:1)

使用async.waterfall以便将来自一个函数的数据传递给下一个函数。查看link中的示例。所以基本上你将调用httpGet函数并使用回调将从API1接收的数据传递给下一个函数。然后你可以调用API2。