发电机没有产量

时间:2015-12-21 21:44:13

标签: javascript node.js ecmascript-6

var A = {
  demo : function() * {
    /* Some logic here, but no yield is used */
  } 
}

没有generator任何内容的yield方法的用途是什么? 你有没有用过这样的东西?用例是什么?

2 个答案:

答案 0 :(得分:4)

这与空函数完全相同 - 有人想调用函数,但你无所事事。

类似地,空生成器函数是一个创建不执行任何操作的生成器的函数。它确实代表空序列。但是,不yield的生成器函数不一定是空的 - 它仍然可以执行某些操作并具有结果值,但是根本没有中间结果。

答案 1 :(得分:0)

以下代码每100毫秒持续5秒钟在响应上打印“ someValue”。它不使用yield

const Koa = require('koa');
const through = require('through');


(new Koa()).use(function *(){
  const tr = through();
  setInterval(() => tr.write('someValue\n'), 100);
  setTimeout(tr.end, 5000);
  this.body = tr;
}).listen(3003, () => {});

通过以下方式访问:curl localhost:3003