Eslint
规则 | Rules

generator-star

generator-star:在发生器函数中围绕星号执行一致的间距

此规则在 ESLint v1.0 中已删除,并由生成器星号间隔规则取代

生成器是 ECMAScript 6 中的一种新功能,可随时间返回多个值。这些特殊功能通过放置关键字*后指示function

这是一个生成器函数的例子:

/*eslint-env es6*/ function* generator() { yield "44"; yield "55"; }

这也是有效的:

/*eslint-env es6*/ function *generator() { yield "44"; yield "55"; }

这也是有效的:

/*eslint-env es6*/ function * generator() { yield "44"; yield "55"; }

为了保持使用生成器时的一致性,这个规则强制执行一个单独的位置*

规则细节

该规则强制将其*放在function关键字或函数名称旁边。此规则的单个选项是一个字符串,指定星号的位置。对于这个选项,你可以通过"start""middle"或者"end"。默认是"end"

你可以像这样在配置中设置样式:

"generator-star": ["error", "start"]

使用"start"此展示位置时将执行:

/*eslint-env es6*/ function* generator() { }

使用"middle"此展示位置时将执行:

/*eslint-env es6*/ function * generator() { }

使用"end"此展示位置时将执行:

/*eslint-env es6*/ function *generator() { }

在使用表达式语法时,"start"将在这里执行:

/*eslint-env es6*/ var generator = function* () { }

在使用表达式语法时,"middle"将在这里执行:

/*eslint-env es6*/ var generator = function * () { }

在使用表达式语法时,"end"将在这里执行:

/*eslint-env es6*/ var generator = function *() { }

当使用表达式语法时,这对于"start""end":都是有效的:

/*eslint-env es6*/ var generator = function*() { }

这个规则不会影响生成器缩短的对象字面值语法。

何时不使用它

如果您的项目不使用生成器,则不需要此规则。

进一步阅读