js里的循環,每次都是自顧自的走,它不等ajax執行好走完到success代碼,就繼續循環下一條數據了,這樣數據就全亂了。
后來,想到試試ajax里async這個屬性,async默認是true,即為異步方式,那我改為false同步,這里主要講解的是vue中的循環遍歷中ajax執行問題。
在方法前加async,在接口名前加await,這樣就不會是異步調用,這樣就會執行完一次ajax后才繼續執行下一次循環
remoteSelected是多選框選中的數據
async writeImage(remoteSelected){
for(var key in remoteSelected) {
await webServices.post('/writeimage/', remoteSelected[key])
.then(res => {
if (res.status == '201') {
this.items.push(res.data);
console.log(res.data);
}
}).catch(error => {
this.loading = false;
});
}
}