使用请求承诺发送两个帖子

时间:2019-03-19 02:50:36

标签: javascript node.js request-promise

我正在尝试使用不同的URL发送两个调用(它们不是并发调用,第一个将首先执行,然后第二个可以执行)。我正在使用节点8并使用请求承诺库来执行此操作。 (一切都发生在谷歌云功能)。问题是,当只有一个URL要执行时,它可以正常工作。但是,当我添加第二个帖子时,现在两个帖子请求都无法正常工作。

这是我的代码:

  const confirmSms = {
    method: 'POST',
    uri: '.....',
    body: {
        quantity
    },
    json: true
};

 const options = {
    method: 'POST',
    uri:`....`,
    body: {
        amount
    },
    json: true
};

而且,我也在使用异步/等待。现在,我的执行方式是这样:

 For the first one :

       await rp(confirmSms)

 For Second One :

       await rp(options)

我这样做正确吗?怎么了,数量和数量是从请求中获取的(因此该值肯定可用)。我可以使用各种名称还是仅使用“选项”?请帮助

1 个答案:

答案 0 :(得分:0)

您可以使用请求承诺https://www.npmjs.com/package/request-promise

var request = require('request-promise');
var baseUrl = 'http://base_url';

request.post(baseUrl + '/url_01')
.then(function(body) {
  console.log("data 1: " + body);
}).then(function() {
    return request.post(baseUrl + '/url_2'); // <-- inside a function
}).then(function(body) {
   console.log("data 2: " + body);
}).catch(function (err) {
   console.error(err);
});