问题标签 [async-iterator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
660 浏览

javascript - 如何确定 javascript 迭代器是否提前终止?

假设我有一个生成器:

我创建了可迭代对象,使用 for 循环进行迭代,然后在迭代器完全完成(返回完成)之前跳出循环。

问题:如何从可迭代方面找出迭代器提前终止?

如果您尝试直接在生成器本身中执行此操作,似乎没有任何反馈:

...“foo”和“bar”都没有记录。

0 投票
1 回答
415 浏览

typescript - 有没有办法实现(x: 承诺>): AsyncIterableIterator在打字稿中?

所以我明白了Promise<AsyncIterableIterator<T>>,我需要明白AsyncIterableIterator<T>如何AsyncIterableIterator<T>从承诺中解开?

0 投票
2 回答
1104 浏览

node.js - 安装 graphql-tools 和 graphql-express 之后。控制台'找不到名称'AsyncIterator'中的错误消息

启动应用程序时错误登录

在启动应用程序时,它显示以下错误,我尝试了下面提到的在线修复,但没有一个可以请求建议和解决方案

根据谷歌结果尝试修复

  1. 添加esnext.asynciterabletsconfig.json
  2. 添加esnexttsconfig.json

但它们都没有奏效。 包.json

0 投票
0 回答
59 浏览

javascript - 异步迭代器使用的真实示例

我想知道异步迭代器的一些可能的现实世界使用示例,这是 ECMAScript 2018 的一部分。

对于可读流,它看起来很有用,因为我们可以使用 new 轻松迭代它们for await of。实际上,在 Node.js 中,可读流已经有一个Symbol.asyncIterator作为实验特性实现的属性:

但是我想不出其他一些好的用法。

至于同步迭代器,我们有像 Array 或 Map 这样的原生对象,它们包含Symbol.iterator自 ES2015 以来的属性,使它们可迭代。在这种情况下,我认为它们的用途非常广泛且易于理解。

任何想法表示赞赏。

0 投票
1 回答
472 浏览

typescript - 如何重构简单的 for-await-of 循​​环?

我正在使用一些新的 JavaScript 功能,例如 async/await 和生成器。我有readPages签名功能

我想用一些分隔符连接这个函数的结果。这是我现在的做法

我认为这很冗长。可以做得更好吗?

这是完整的代码供参考

0 投票
1 回答
622 浏览

python - 联合异步迭代器会发生什么?

说我有以下功能

之后异步迭代器会发生什么

? 我应该担心清理还是发电机在看不见时会以某种方式被垃圾收集?

0 投票
1 回答
341 浏览

typescript - 如何在节点应用程序中使用 prisma graphql 订阅

我正在遵循本指南。我正在尝试在我的节点应用程序中收听 graphQL 订阅。我在实施该订阅时遇到了很多麻烦。我尝试了几种不同的方法,如下所列,它们都不起作用。



这两个都在下一个返回:

我希望它会priority在任何时候创建一个新的时返回。但是,它只返回一次并立即完成并返回我上面列出的那个对象。

我知道这与它返回一个有关Promise<AsyncIterator<...>>,但我不知道如何解决这个问题。

如何在节点应用程序中使用 prisma graphql 订阅prisma-client?我也想将其转换为rxjs而不是使用promises. 我只是更喜欢Observables

0 投票
1 回答
58 浏览

javascript - 按符号过滤的柯里化函数无法在 Typescript 中获得兼容的函数实现

我有一个返回 Iterable 的咖喱批处理函数。如果你用一个同步调用它,Iterable你会得到一个同步Iterable,如果你给一个AsyncIterable你会得到一个AsyncIterable。但是我这辈子都不能让函数实现接受同步重载。

这个特定的定义是什么给出了错误

这是所有代码

0 投票
1 回答
104 浏览

javascript - 打破“for await”循环后如何*重新打开* AsyncIterator?

testMultipleLoops2在第一个之后的功能中for awaitl将转向GeneratorStatus:<closed>,我进行了大量研究,但没有找到重新打开它的方法。

0 投票
3 回答
3887 浏览

javascript - 使用 javascript 的 Symbol.asyncIterator 和 for await 循环

我试图了解 javascript 的Symbol.asyncIterator等待的. 我写了一些简单的代码,它抛出一个错误说:

在尝试使用的行上for await (let x of a)

我无法理解它的原因。

我创建一个空对象a并在同一个对象上插入一个键Symbol.asyncIterator并为其分配一个名为的函数test,该函数返回一个Promise. 然后我使用for await of循环遍历函数将返回的所有值。

我做错了什么?

PS:我在Node版本10.13.0和最新版本Chrome