我有一种情况,根据变量,可能会出现两种情况之一。这两种情况都会返回一个承诺,并且之后会应用完全相同的逻辑。
我想要这样的事情发生:
userisBuyer ? Order.Create : Order.Create.As.Buyer
.then //do same stuff for both
我意识到这不是有效的逻辑,但我怎么能在那些有条件的情况下完成类似的事情呢?
答案 0 :(得分:5)
您可以在一行中执行此操作,正如您的问题格式所暗示的那样:
(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() {
});
在我眼中更具可读性。
答案 1 :(得分:2)
let action = userisBuyer ? Order.Create : Order.Create.As.Buyer;
action()
.then(res => {your code})
这应该怎么做?