使用 Prettier JS 时保留 then() catch() 格式
Posted
技术标签:
【中文标题】使用 Prettier JS 时保留 then() catch() 格式【英文标题】:Preserve then() catch() format when using Prettier JS 【发布时间】:2017-12-23 16:39:27 【问题描述】:我刚开始使用 VSCode 的 PrettierJS 插件,我正在寻找一种方法来保留我的服务调用(以及后续 Promise)的代码格式。
我知道您可以在代码块之前添加 //prettier-ignore
cmets 以保留代码模式,但由于我在整个应用程序中都这样做,我不想在任何地方添加该注释行。
现在,我的代码块如下所示:
return this.thingService.addThing(newThing)
.then(wonFunction)
.catch(lostFunction);
但是当我执行 Prettier 格式命令时,我得到了这个:
return this.accessData.addRight(newRight).then(wonAddAccessRight).catch(lostAddAccessRight);
我想要一种方法来防止我的代码块在不使用 //prettier-ignore
cmets 的情况下发生更改。
【问题讨论】:
【参考方案1】:Prettier 现在会自动在单独的行中断开 3 个或更多函数的链(我正在编写的当前版本是 1.9.1),因此格式与 OP 要求的有点不同:
return this.accessData
.addRight(newRight)
.then(wonAddAccessRight)
.catch(lostAddAccessRight);
但是如果你想在只有 2 个函数的情况下强制它中断,有一个技巧是添加评论,Prettier 会自动中断它:
return promise // force break
.then(didResolve)
.catch(didReject);
【讨论】:
fugly,为什么它不是官方修复而不是我想知道的评论黑客以上是关于使用 Prettier JS 时保留 then() catch() 格式的主要内容,如果未能解决你的问题,请参考以下文章
在 then 回调中使用 await - 保留关键字“await”
prettier 函数function 后面空格移除,.prettierrc与.eslintrc.js冲突