我正在尝试使用不同的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)
我这样做正确吗?怎么了,数量和数量是从请求中获取的(因此该值肯定可用)。我可以使用各种名称还是仅使用“选项”?请帮助
答案 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);
});