繁体   English   中英

有条件的诺言链?

[英]Conditional promise chaining?

我有一种情况,根据变量的不同,可能会发生两种情况之一。 这两种情况都返回一个承诺,并在之后应用完全相同的逻辑。

我希望这样的事情发生:

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

这应该怎么办?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM