0
我有一种情况,取决于两种情况之一可能会发生变化。这两种情况都会返回一个承诺,并在之后应用完全相同的逻辑。有条件承诺链接?
我想是这样的情况发生:
userisBuyer ? Order.Create : Order.Create.As.Buyer
.then //do same stuff for both
我知道这不是有效的逻辑,但我怎么能完成类似的东西在那里我。然后在这两个条件的?
我有一种情况,取决于两种情况之一可能会发生变化。这两种情况都会返回一个承诺,并在之后应用完全相同的逻辑。有条件承诺链接?
我想是这样的情况发生:
userisBuyer ? Order.Create : Order.Create.As.Buyer
.then //do same stuff for both
我知道这不是有效的逻辑,但我怎么能完成类似的东西在那里我。然后在这两个条件的?
您可以在同一行这样做,因为在你的问题的格式暗示:
(userisBuyer ? Order.Create() : Order.Create.As.Buyer()).then(function() {
//do same stuff for both
});
但你真的想要?
var createMethod = userisBuyer ? Order.Create : Order.Create.As.Buyer;
createMethod().then(function() {
});
在我眼里更具可读性。
let action = userisBuyer ? Order.Create : Order.Create.As.Buyer;
action()
.then(res => {your code})
这应该怎么办?
对于他们自己的,我是你的第一个片段的可读性的粉丝(它也不会创建一个不必要的变量)。 – Adam
@Adam确实 - 这就是为什么我把它作为一个单独的部分添加它,也几乎添加了一个评论关于它偏离到舆论领土:)我不会太担心非易失变量vs可读性 - 如果它们是不必要的,优化器将照顾他们。 –
完美! – Crhistian