我正在使用ESLINT来分析我的代码。代码运行正常。我不知道如何解决这个问题。
[eslint]解析错误:意外的令牌t
(参数)t:任何
test.serial(`set: Handles save error`, async t => {
const error = new Error(`error`);
const sample = getSample();
sample.mocks.datastore.save.returns(Promise.reject(error));
const err = await t.throws(
sample.program.set(sample.mocks.req, sample.mocks.res)
);
t.deepEqual(err, error);
t.deepEqual(console.error.callCount, 1);
t.deepEqual(console.error.firstCall.args, [error]);
t.deepEqual(sample.mocks.res.status.callCount, 1);
t.deepEqual(sample.mocks.res.status.firstCall.args, [500]);
t.deepEqual(sample.mocks.res.send.callCount, 1);
t.deepEqual(sample.mocks.res.send.firstCall.args, [error]);
});
此处.eslintrc.js
module.exports = { extends: 'google', parserOptions: {
ecmaVersion: 6, }, };
答案 0 :(得分:9)
async
/ await
是一项ECMAScript 2017功能,因此如果您更改ecmaVersion: 8
而不是6,这应该可以使用!
答案 1 :(得分:1)
我遇到了类似的问题并解决了编辑 package.json 第 5 行的问题。
我删除了“。”那是在“eslint”之后,现在一切都很好。
答案 2 :(得分:0)
即使您使用最新版本的 ECMAScript,您也可能会遇到此错误,如果是这种情况(就像我一样),问题可能出在您的配置中:
"space-before-function-paren": [
"error",
"never"
]
如果你有这个,你应该改变:
"space-before-function-paren": [
"error",
{
"anonymous": "never",
"named": "never",
"asyncArrow": "always"
}
],
您可以在此 issue on GitHub 中找到。