async beforeUpload() {
this.loading = true;
for (let file of this.fileList) {
await this.upload(file);
}
// 队列上传完成,关闭loading
this.loading = false;
}
// 具体上传逻辑
async upload() {
// 上传的操作......
// await......
// 其它逻辑......
}
● beforeUpload
是一个 async
函数,因此可以在其中使用 await
。
● for
循环遍历 fileList
数组中的每个 file
。
● await upload(file)
会等待 upload
函数返回的结果,然后再继续执行下一行代码。
在循环的时候,for...of
会按照顺序进行遍历,循环内部使用await
,每次upload
函数执行完后for...of
才会开启下一轮循环,直到循环完毕。for...of
可以实现Promise
的队列调用,但前提是for...of
所在的位置必须是async
函数内部。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。