MST

星途 面试题库

面试题:JavaScript 中异步迭代器的基本使用

请使用 JavaScript 实现一个简单的异步迭代器,用于异步生成 1 到 5 的数字,每次生成数字间隔 1 秒,并且要展示如何使用 `for - await...of` 循环来消费这些异步生成的值。
43.7万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
// 创建异步迭代器
function* asyncGenerator() {
    for (let i = 1; i <= 5; i++) {
        yield new Promise((resolve) => {
            setTimeout(() => {
                resolve(i);
            }, 1000);
        });
    }
}

// 使用for - await...of循环消费异步生成的值
async function consumeAsyncGenerator() {
    for await (const value of asyncGenerator()) {
        console.log(value);
    }
}

consumeAsyncGenerator();