故事背景:
在JavaScript中,经常会遇到需要同时执行多个异步操作的情况。而Promise.all方法提供了一种便捷的方式来处理这种情况,可以同时处理多个Promise对象,并等待它们全部完成后再执行后续操作。
Promise.all接受一个Promise对象数组作为参数,并返回一个新的Promise对象。这个新的Promise对象将在所有的输入Promise对象都变为resolved状态后变为resolved,或者在任何一个输入Promise对象变为rejected状态后变为rejected。
实例:
比如下边这个方法中,我需要循环多次请求数据,最终把数据放到endTreeData中,但是实际我这样写在 console.log(endTreeData) 的时候你可能会看到 endTreeData 是等于🈳️或者是不全的。
因为在代码中,console.log(endTreeData)
语句位于循环之后,但是这些代码会在循环结束后立即执行,而不会等待异步请求的结果返回。
这时就要对代码进行改造了:
initRoleTreeOfManagements() {
const manageUnitUUIDs = ['1', '2', '3', '4'];
const manageUnitNames