javascript - 数组中内置Symbol.asyncIterator

标签 javascript for-loop asynchronous

根据 MDN Web 文档:

There are currently no built-in JavaScript objects that have the [Symbol.asyncIterator] key set by default.

我的问题是这是如何起作用的:

function promises() {
    return [
        new Promise(x => setTimeout(() => x(1), 1000)),
        new Promise(x => setTimeout(() => x(2), 2000)),
        new Promise(x => setTimeout(() => x(3), 3000)),
    ]
}

for await (x of promises()) console.log(x) 

最佳答案

MDN 还指出

The for await...of statement creates a loop iterating over async iterable objects as well as on sync iterables, including: built-in String, Array, Array-like objects (e.g., arguments or NodeList), TypedArray, Map, Set, and user-defined async/sync iterables - MDN (emphasis mine)

关于javascript - 数组中内置Symbol.asyncIterator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58251194/

相关文章:

所有属性的 JavaScript getter

javascript - 为什么这种从 `e.parameter.variableName` 方法恢复数组的尝试不起作用?

javascript - ForEach 和 for .. of 中出现意外标识符

c++ - OpenMP parallel for inside do-while

javascript - 如何使用for循环返回数组中第一次出现的重复项?

javascript - 如何在 Angular 4/Jasmine 中的 beforeEach 中等待

.net - 在多线程环境中使用TraceSource

javascript - bool 值 if 语句的技巧

javascript - 添加表格行和单元格

c# - 如何在不阻塞当前线程的情况下发布 HTTP 请求并等待回调?