跳到主要内容

Async Generator Function

异步生成器在 yield 之间可以 await,适合按块拉取远程数据、节流推送、模拟流式 API。

项目中的实现

  • 源码: src/asyncGeneratorFunction.ts
  • 导出: streamChunkscollectAsyncGenerator

各函数示例

streamChunks

import { streamChunks } from 'wssf-kage-js';

for await (const x of streamChunks([1, 2, 3], 10)) {
console.log(x);
}

collectAsyncGenerator

import { streamChunks, collectAsyncGenerator } from 'wssf-kage-js';

await collectAsyncGenerator(streamChunks(['a', 'b'], 0)); // => ['a', 'b']

什么时候优先用

  • 需要 for await...of 消费异步序列
  • 把分页或 WebSocket 消息整理成统一的异步可迭代接口