MST

星途 面试题库

面试题:TypeScript迭代器与生成器在异步场景中的应用

假设你有一个异步操作的数组,例如 [() => Promise.resolve(1), () => Promise.resolve(2), () => Promise.resolve(3)],使用TypeScript的迭代器和生成器,结合async/await,实现按顺序依次执行这些异步操作并输出结果。
39.1万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function* asyncIterator(asyncFunctions: (() => Promise<any>)[]) {
    for (const func of asyncFunctions) {
        yield func;
    }
}

async function runAsyncFunctions() {
    const asyncGen = asyncIterator([() => Promise.resolve(1), () => Promise.resolve(2), () => Promise.resolve(3)]);
    for (const asyncFunc of asyncGen) {
        const result = await asyncFunc();
        console.log(result);
    }
}

runAsyncFunctions();