相关疑难解决方法(0)

如何使用Promises链接和分享先前的结果

我正在使用bluebird库,需要发出一系列HTTP请求,并需要将一些响应数据发送到下一个HTTP请求.我已经构建了一个处理我的请求的函数callhttp().这需要一个URL和POST的正文.

我这样称呼它:

var payload = '{"Username": "joe", "Password": "password"}';
var join = Promise.join;
join(
    callhttp("172.16.28.200", payload),
    callhttp("172.16.28.200", payload),
    callhttp("172.16.28.200", payload),
    function (first, second, third) {
    console.log([first, second, third]);
});
Run Code Online (Sandbox Code Playgroud)

第一个请求获取一个API密钥,需要将其传递给第二个请求,依此类推.如何从第一个请求获取响应数据?

UPDATE

这是callhttp功能:

var Promise = require("bluebird");
var Request = Promise.promisify(require('request'));

function callhttp(host, body) {

    var options = {
        url: 'https://' + host + '/api/authorize',
        method: "POST",
        headers: {
            'content-type': 'application/json'
        },
        body: body,
        strictSSL: false
    };

    return Request(options).spread(function (response) {
        if (response.statusCode == 200) {
           // …
Run Code Online (Sandbox Code Playgroud)

javascript node.js bluebird

55
推荐指数
1
解决办法
2万
查看次数

标签 统计

bluebird ×1

javascript ×1

node.js ×1