Ecmascript 6 ES6中的发生器及其工作机理

Ecmascript 6 ES6中的发生器及其工作机理,ecmascript-6,generator,Ecmascript 6,Generator,在我读过的文档中,yield完全消耗了下一个调用,因此我的困惑是,我们如何使用yield将函数“拆分”为多个部分,这些部分可以单独执行(但只能按顺序执行),从而再次调用下一个方法,如上图所示: 如果调用a.next()则执行第1部分,直到产生并且中间结果返回到调用中“无帮助”为止。然后调用将执行第2部分的a.next(“您的帮助之手”),您将得到函数返回的内容。因为没有第三方调用a.next(),所以再次调用将不起作用。您的目标是什么?我认为你还没有完全掌握生成器在这里发布的代码中的作用。现在我

在我读过的文档中,yield完全消耗了下一个调用,因此我的困惑是,我们如何使用
yield
将函数“拆分”为多个部分,这些部分可以单独执行(但只能按顺序执行),从而再次调用下一个方法,如上图所示:


如果调用
a.next()
则执行第1部分,直到
产生
并且中间结果
返回到调用中“无帮助”
为止。然后调用将执行第2部分的
a.next(“您的帮助之手”)
,您将得到函数返回的内容。因为没有第三方调用
a.next()
,所以再次调用将不起作用。

您的目标是什么?我认为你还没有完全掌握生成器在这里发布的代码中的作用。现在我想了解我发布的代码工作机制,因为它与理论概念相冲突。确切地说,你在谈论哪个理论概念?目前还不清楚。
 function* help(){
       const aa = yield 'no_help';
         return aa;
}
const a = help();
a.next()// valid output
a.next('helping hand')// valid output
 function* help(){
   // part 1starts
   //....
   const aa = yield 'no_help'; // part 1 ends
   // part 2 starts
   // ...
     return aa; // part 2 ends
 }