Es6 Generator函数
/* 一、generator函数的定义 1.Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同 2.形式上,Generator 函数是一个普通函数,但是有两个特征。一是,function关键字与函数名之间有一个星号;二是,函数体内部使用yield表达式,定义不同的内部状态 */ //定义一个generator函数 其内部有3种状态 var helloGenerator = function *() { var next1 = yield 'hello'; yield 'world' + next1; return 'ending'; } //调用generator 函数和普通函数一样,直接加上双括号 () 但是跟普通函数的区别是generator不会立即执行, 返回的也不是函数的结果,而是内部的一个指针。 var newGenerator = helloGenerator(); //generator 函数是分段执行的 会从头部直到遇到下一个yield 表达式的时候停止下来。 console.log(newGenerator.next('hahh')); //Object {value: "hello", done: false} console.log(newGenerator.next()); // {value: "worldhahh"