我从MDN复制并粘贴了一个for-await-of示例,但仍然收到一个错误消息,告诉我await是保留字。这可能与我的Javascript版本有关吗?
我尝试了几种不同的方法,包括IIFE的方法,主要是复制他人的经过验证的代码,但出现错误。
var asyncIterable = {
[Symbol.asyncIterator]() {
return {
i: 0,
next() {
if (this.i < 3) {
return Promise.resolve({ value: this.i++, done: false });
}
return Promise.resolve({ done: true });
}
};
}
};
(async function() {
for await (let num of asyncIterable) {
console.log(num);
}
})();
期望它至少运行。
抛出错误:
"\index.js:32
for await (let num of asyncIterable) {"
答案 0 :(得分:2)
for-await-of
开始, v10.3.0
循环为available in Node.js。
要使用该语法,只需转到https://nodejs.org/en/或使用nvm来更新Node.js版本。
答案 1 :(得分:1)
如果向下滚动到specification部分,您会看到它处于“草稿”阶段,因此尚未完全指定,并且browser support也不完整。您的环境可能尚不支持。