reactjs - 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);
});
}
解决方案
最好的办法是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;
}
}
}
推荐阅读
- java - 无法在 Java Swing 计算器中使用等号按钮
- javascript - 通过没有 jQuery 和远程的 AJAX 请求提交 Rails 表单:true
- html - html中搜索栏右侧不需要的空白
- php - 上传头像
- chef-infra - Chef Client 在 ubuntu 版本 14.04 上找不到 apt_update 的资源
- android - React native - 渲染数千个组件时的性能
- generics - 如何从扩展类型的 CrudRepository 调用 CrudRepository 上的泛型方法?
- android - React native drawer open issue
- mysql - Mysql 将字符串读取为日期时间
- typescript - Typescript:具有至少一个 T 类型属性的对象