关于node.js:for-await-…of-表达式的煎蛋实现小demo

偶然间看到一个小例子:

import { serve } from "https://deno.land/std@0.69.0/http/server.ts";
 const s = serve({ port: 8000 });
 console.log("http://localhost:8000/");
 for await (const req of s) {
     req.respond({ body: "Hello Worldn" });
 }

查了查资料有了上面这个小demo:

const simulateDelay = (val, delay) =>
    new Promise((resolve) => setTimeout(() => resolve(val), delay));
class RandomNumberGenerator {
    [Symbol.asyncIterator]() {
        return {
            next: async () => {
                return simulateDelay({ value: Math.random() }, 200); //return the value after 200ms of delay
 },
 };
 }
}
const rand = new RandomNumberGenerator();
(async () => {
    for await (const random of rand) {
        console.log(random);
 if (random < 0.1) break;
 }
})();

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理