使用Prettier JS时保留then()catch()格式

时间:2017-07-18 17:06:01

标签: javascript formatting format visual-studio-code prettier

我刚刚开始使用VSCode的PrettierJS插件,我正在寻找一种方法来保存我的服务调用的代码格式(以及后续的Promises)。

我知道您可以在代码块之前添加//prettier-ignore条评论以保留代码模式,但由于我在我的应用程序中执行此操作,因此我不想在任何地方添加该注释行。

现在,我的代码块看起来像这样:

       return this.thingService.addThing(newThing)
            .then(wonFunction)
            .catch(lostFunction);

但是当我做Prettier格式命令时,我得到了这个:

    return this.accessData.addRight(newRight).then(wonAddAccessRight).catch(lostAddAccessRight);

我希望有一种方法可以在不使用//prettier-ignore注释的情况下保护我的代码块不被更改。

1 个答案:

答案 0 :(得分:3)

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);