несколько запросов на получение в узле JS - PullRequest
0 голосов
/ 14 мая 2018

Я работаю над чатом на Facebook.Я должен сделать несколько запросов GET в соответствии с ответом пользователя.Прямо сейчас я делаю все запросы одновременно, так как я не знаю, как получить ответ из функции запроса.Есть ли более простой способ?

'use strict';
var https = require('https');

var options = {
    host: 'url.com',
    path: '/path_to_api'
};

var req = https.get(options, function(res) {

var bodyChunks = [];
res.on('data', function(chunk) {
  bodyChunks.push(chunk);
}).on('end', function() {
  var body = Buffer.concat(bodyChunks);
  body = ''+body;
  var json_body = JSON.parse(body);


  var options2 = {
    host: 'url2.com',
    path: '/path_to_api'
};

  var req = https.get(options2, function(res) {

    var bodyChunks = [];
    res.on('data', function(chunk) {
       bodyChunks.push(chunk);
    }).on('end', function() {
      var body = Buffer.concat(bodyChunks);
      body = ''+body;
      var json_body2 = JSON.parse(body);
    })
 });

Спасибо

1 Ответ

0 голосов
/ 18 мая 2018

Вы можете попробовать создать группу запросов с помощью request-обещания :

var rp = require('request-promise');
var requests = [
    rp(options), rp(options2), rp(options3) ...
];
Promise.all(requests).then(([restul1, result2, ...allOtherResuts]) => {
    //process ok
}).catch( err => {
   //handle error
})
...