面试题答案
一键面试async function processComplexArray(complexArray) {
const processElement = async (element) => {
try {
return await asyncDouble(element);
} catch (error) {
return error.message;
}
};
const processSubArray = async (subArray) => {
return Promise.all(subArray.map(processElement));
};
return Promise.all(complexArray.map(processSubArray));
}
// 示例调用
processComplexArray([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]).then(result => {
console.log(result);
});
上述代码实现步骤如下:
- 定义
processElement
函数,该函数接收数组中的单个元素,调用asyncDouble
函数并处理可能抛出的错误。 - 定义
processSubArray
函数,该函数接收一个二维数组中的子数组,使用Promise.all
并发处理子数组中的所有元素。 - 在
processComplexArray
函数中,通过Promise.all
并发处理三维数组中的所有二维子数组,最终返回包含处理结果或错误信息的新数组。