0

I want to break for loop when axios.post succeeds. How can I do this?

for (var i = 0; i < filteredCars.length; i++) {
  var car = filteredCars[i];
  axios
    .post(
      "http://localhost:9000/api/cars/" + car.id + "/createReservation",
      {
        pick_up_date: "July 29, 2023 03:00:01",
        drop_off_date: "July 30, 2023 09:00:00"
      },
      config
    )
    .then(response => {
      this.setState({
        reserved: true
      });
    })
    .catch(error => {
      console.log(error);
    });
}
Vencovsky
  • 28,550
  • 17
  • 109
  • 176
Matthew
  • 37
  • 5

1 Answers1

1

Your best bet is to use await inside an async function. So your method will be as follows:

async function testFunction() {
    for (var i = 0; i < filteredCars.length; i++) {
        var car = filteredCars[i];
        var response = await axios.post("http://localhost:9000/api/cars/" + car.id + "/createReservation";
        this.setState({ reserved: true });

        if (conditionToBreak === true) {
            break;
        }
    }
}
cross19xx
  • 3,170
  • 1
  • 25
  • 40