# generator-star

在生成器函数中强制星号周围的间距一致。

(已删除)此规则在 ESLint v1.0 中已删除,并由 generator-star-spacing 规则替换。

生成器是 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*() {
}

生成器的缩短的对象字面语法不受此规则的影响。

# 何时不使用

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

Last Updated: 5/13/2023, 8:55:38 PM