【问题标题】:Preserve then() catch() format when using Prettier JS使用 Prettier JS 时保留 then() catch() 格式
【发布时间】: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 的情况下发生更改。

【问题讨论】:

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


    【解决方案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,为什么它不是官方修复而不是我想知道的评论黑客
    猜你喜欢
    • 2019-04-15
    • 1970-01-01
    • 2019-02-07
    • 1970-01-01
    • 2021-03-27
    • 1970-01-01
    • 2016-02-14
    • 2021-03-18
    • 2022-12-15
    相关资源
    最近更新 更多