父组件用 forEach 调用子组件的异步方法,会同时运行,并且不会等待。你需要用 map 返回一个promise的列表,然后再等待异步完成。 const initPromises = this.identifyFailed.map(async (alarm: Alarm, index: number) => { await this.$nextTick() returen await this.$refs['slideImageFaildRef'][index].initFilePath(alarm.id) }) Promise.all(initPromises).then(....)