, yield next , , , , . , .
Y = yield X
Y = next(X)
:
, (gen2 ) . , next, (null) , . yield 100, 100 . , 100 , 500. , 500 a .. :
gen wait
main next() null -> pipe
main wait
gen pipe -> null
gen yield 100 100 -> pipe
gen wait
main pipe -> arg (100)
console.log(arg) 100
main next(500) 500 -> pipe
main wait
gen a= pipe -> a (500)
gen yield a + 100 600 -> pipe
gen wait
main pipe -> arg (600)
console.log(arg) 600
main next(1000) pipe -> 1000
main wait
gen b= pipe -> b
console.log(b) 1000
gen (ended) done -> pipe
main pipe -> arg (done)
console.log(arg)
main (ended)
, , , - yield/next, ( "" "" ) .
var a = 5
,
var a = yield 5
= yield. , async, .