标签:fine settime asc row undefined XA led function next
Example
/* /* function需要用*标记 yiled 可以返回多个值 */ function* calculate(a,b){ yield a + b; yield a + a; throw ‘some error‘//遇到错误立即返回,所以以下代码不会被执行 yield a * a; return b + b; } let gen = calculate(1,3);//直接调用generator function并非返回值,而是返回一个generator的函数对象 console.log(gen); //需要单独一次调用next()函数,依次返回yield的值 //return返回的对象done是true。如果直接到没有return到函数结尾,返回的对象done是true,value是undefined //如果函数已经结束(done是true)。再调用next(),会一直是{value: undefined, done: true} gen.next(); //{value: 4, done: false} gen.next();//{value: 2, done: false} gen.next(); //Uncaught some error gen.next();//{value: undefined, done: true} gen.next();
Javascript Generator Functions
标签:fine settime asc row undefined XA led function next
原文地址:https://www.cnblogs.com/xiaoke2012/p/9160897.html