vuefor循环中使⽤await
await 和 async必须成对出现,如果调⽤await的地⽅,⽆法正确匹配到async则会报错,例如:forEach外⾯写async,forEach中使⽤await,则⽆法匹配。
async tidyData(){
item.categorys.forEach(async item2 => {
let customModelList = await this.tidyDataCustom(item2)
})
}
forEach:
async tidyData(){
await Promise.all(
item.categorys.forEach(async item2 => {
let customModelList = await this.tidyDataCustom(item2)
})
)
}
for:
async tidyData(){
for(let item2 of item.categorys){
// 款式选项数据整理
let customModelList = await this.tidyDataCustom(item2)
}
}
forEach属于并发操作,所以需要锁定住每⼀个循环体,⽽for不是并发操作,所以⽆需锁定每⼀次的循环。
如果需要等待的⽅法中也去async并且等待⾥⾯的耗时操作,可以如下⽅式:
tidyDataCustom(item2){
await和async使用方法
return new Promise(async resolve => {
CategoryStyle(item2)
resolve()
})
}
返回结果放⼊到resolve(xx)中,如果没有结果就resolve()

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。