【发布时间】:2021-02-08 11:00:47
【问题描述】:
我是 JS 开发的新手,我最近发现了 DRY(不要重复自己)的概念,它帮助我清理了很多代码。
我在整个项目中的几个地方都遇到了以下类型的问题,我正在努力想一种方法来改进它,同时保持可读性和不重复代码的原则。
if (something) {
doPromise().then(() => {
doSomething()
}).catch(e => {
doThisInstead()
})
} else {
doThisInstead()
}
关键是我需要执行 doThisInstead() 或任何函数/内联代码,只要 if 语句进入 else 块,或者当 promise 进入 catch 块时,并且在这个在特定情况下,我无法知道承诺会在尝试之前进入 catch 块。
编写这样的代码很快就会变得混乱,所以我会很感激任何提示。非常感谢!
【问题讨论】:
-
但是如果 promise 到了 catch 就意味着有些事情是真的,因为否则你不会进入 if 并且如果 someting 是假的,你就会去 else。你到底想优化什么?
-
我想避免 doThisInstead() (或其他任何东西)基本上两次,但是当某些事情是错误的并且承诺进入 catch 块时我采取的行动是相同的
-
是一样的,但是没办法同时触发,所以没关系
标签: javascript node.js promise coding-style