Как вызвать несколько функций в цикле - PullRequest
0 голосов
/ 08 апреля 2020

Я попытался вызвать несколько функций, как показано ниже. Но результат не определен ...

let result='';
    for (let i = 0; i<req.body.length; i++){
         return result += function() {
            return axiosInstanceCost.post('/starter/cost', qs.stringify({
                'origin': req.body.origin[i],
                'weight': req.body.weight[i],
                'destination': req.body.destination[i],
                'courier': req.body.courier[i]
             }))    
        };
    }    

    axios.all(result)
        .then(axios.spread(function(response){
            console.log(response);            

        }))
        .catch(function(error){
            console.log(error)
        })

Пожалуйста, скажите мне правильный код. Большое спасибо прежде.

1 Ответ

1 голос
/ 08 апреля 2020

Я думаю, что вы пытаетесь создать массив обещаний и сделать что-то, когда все они решатся ... что-то вроде:

const result = [];
for (let i = 0; i < req.body.length; i++) {
  result.push(
    axiosInstanceCost.post('/starter/cost', qs.stringify({
      'origin': req.body.origin[i],
      'weight': req.body.weight[i],
      'destination': req.body.destination[i],
      'courier': req.body.courier[i]
    })));
}

axios.all(result)
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error)
  })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...