MST

星途 面试题库

面试题:JavaScript 中如何利用函数作为命名空间进行简单的并发管理

假设你有多个异步任务需要并发执行,每个任务都在一个函数内实现。请使用JavaScript函数作为命名空间的方式,设计一个方案来管理这些并发任务,并在所有任务完成后输出结果。例如,假设有三个异步任务函数 `task1`、`task2`、`task3`,每个函数返回一个Promise,你需要确保它们并发执行,并在全部完成后打印所有任务的结果。
16.7万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
const tasksNamespace = {
    task1: () => {
        return new Promise((resolve) => {
            setTimeout(() => {
                resolve('Task 1 result');
            }, 1000);
        });
    },
    task2: () => {
        return new Promise((resolve) => {
            setTimeout(() => {
                resolve('Task 2 result');
            }, 1500);
        });
    },
    task3: () => {
        return new Promise((resolve) => {
            setTimeout(() => {
                resolve('Task 3 result');
            }, 2000);
        });
    }
};

Promise.all([tasksNamespace.task1(), tasksNamespace.task2(), tasksNamespace.task3()])
   .then((results) => {
        console.log(results);
    })
   .catch((error) => {
        console.error('An error occurred:', error);
    });