`recursive` 方法内部实现的问题,Array 的 forEach 循环是不支持 async/await 的,所以应该把 forEach 部分换成 for 循环再配合 await ,如下: async recursive(data) { try { for (let i = 0; i < data.length; i++) { const item = data[i] if(item.isLeaf) {// 没有下级 const data = item.data ? item.data : item this.treeData.push(data) }else { const { data } = await fetchArchiveTree(this.getQueryParams(item)) for (let item of data.data) { if(!item.isLeaf) { const Arr = [item] await this.recursive(Arr) } this.treeData.push(item) } } } } catch (error) { console.log('获取树形数据失败',error); } console.log('数据收集完毕'); },