0

我正在使用 JSHint 进行 linting,并且在使用 co 时遇到问题,在yield语句中的生成器中我得到 ERROR: line 18 col 28 Missing semicolon。

co(function *() {

let orgAccounts = yield OrgAccount.findAll({accountId: account.id});

}).catch((err) => {
  console.log(err);
});

.jshintrc 文件如下所示:

{
 "expr": true,
 "node": true,
 "esversion": 6,
 "bitwise": true,
 "eqeqeq": true,
 "immed": true,
 "latedef": "nofunc",
 "newcap": true,
 "noarg": true,
 "undef": true,
 "smarttabs": true,
 "asi": true,
 "debug": true,
 "noyield": true
}

我该如何解决?

4

1 回答 1

0

我更改了 .jshintrc 文件:

{
 "expr": true,
 "node": true,
 "esversion": 6,
 "bitwise": true,
 "eqeqeq": true,
 "immed": true,
 "latedef": "nofunc",
 "newcap": true,
 "noarg": true,
 "undef": true,
 "smarttabs": true,
 "asi": true,
 "debug": true,
 "noyield": true
}

"asi": false需要分号。

此选项禁止有关缺少分号的警告。社区中有不少人传播了很多关于分号的 FUD。常见的误解是分号始终是必需的(它们不是)并且它们是不可靠的。JavaScript 有关于分号的规则,所有浏览器都遵循这些规则,因此您可以决定是否应该在代码中使用分号。

JSHint 选项参考

于 2016-06-15T17:35:01.317 回答