如何将此函数转换为使用async / await样式:
it.only("should bump the 'minor' version attribute", () => {
const writeFile = util.promisify(require("fs").writeFile);
return writeFile("bump-minor.json", "contents").then(function() {
console.log('done');
});
});
我尝试过使用它,但它不起作用:
const writeFile = util.promisify(require("fs").writeFile);
await writeFile("bump-minor.json", "contents");
console.log('done');
它在第2行显示以下错误:
Parsing error: Unexpected token writeFile
如果我添加" async"到摩卡测试功能:
it.only("should bump the 'minor' version attribute", async () => {
const writeFile = util.promisify(require("fs").writeFile);
return writeFile("bump-minor.json", "contents").then(function() {
console.log('done');
});
});
然后我在第1行得到了这个错误:
Parsing error: Unexpected token =>
我可能遗漏了async / await和util.promisify如何在节点中协同工作的基本原理
使用节点8.7.0。
答案 0 :(得分:1)
我在mocha之前在" npm test":
中运行了eslint"scripts": {
"test": "eslint *.js \"src/**/*.js\" \"test/**/*.js\" && mocha"
}
删除" eslint"打电话解决问题:
"scripts": {
"test": "mocha"
}
出于某种原因,eslint使用mocha
失败async / await语法