forEach和for循环

错误

1
2
3
4
5
6
7
8
9
10
11
12
13
var arr = [1,[[2,3],4],[5,6]]
var flat = function* (a){
a.forEach(function (item) {
if (typeof item !== 'number') {
yield* flat(item)
} else {
yield item
}
})
}
for (var f of flat(arr)) {
console.log(f)
}

forEach函数不可异步调用

成功:forEach函数改为for循环

1
2
3
for (var i = 0;i<length;i++) {

}

语法

console.log(‘Hello’ + yield)
console.log(‘hello’ + (yield))
yield作为函数/赋值表达式的右侧
(1)foo(yield ‘a’,yield ‘b’)
(2)let input = yield