首页 > 解决方案 > axios post成功时如何打破for循环?

问题描述

我想在axios.post成功时打破循环。我怎样才能做到这一点?

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);
    });
}

标签: reactjsaxios

解决方案


最好的办法是await在异步函数中使用。所以你的方法如下:

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;
        }
    }
}

推荐阅读