const list = [1, 2, 3]
const square = num => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(num * num)
}, 1000)
})
}
//迭代器实现
async function test () {
var iter = list[Symbol.iterator]();
var flag = iter.next();
while (!flag.done) {
await square(flag.value).then(res => console.log(res));
flag = iter.next();
}
}
test();
第 160 题:输出以下代码运行结果,为什么?如果希望每隔 1s 输出一个结果,应该如何改造?注意不可改动 square 方法