【发布时间】:2015-02-15 05:07:32
【问题描述】:
是否可以编写以顺序方式执行多个异步步骤的 NodeJS 代码,其中某些步骤会根据条件语句被执行或绕过?
让我试着用伪代码写一个例子。
想象一下你有类似的东西
step1.then(step2).then(step3);
现在让我们添加一个选项:
var opt = true;
如何实现类似的目标:
step1.then(opt && step2).then(step3);
或者,如果我们假设中间有 2 个不同的可能步骤:
step1.then(opt ? step2 : step3).then(step4);
编辑
如果可选步骤位于开头?
(opt && step1).then(step2).then(step3);
如果有人能提供一些启示或提出建议,那就太棒了!
谢谢
【问题讨论】:
-
可能重复:stackoverflow.com/questions/22594978/…(现在不会关闭,因为您已经得到了答案)
-
取决于您希望何时评估
opt。如果它是静态已知的,那么您的三元运算符已经可以工作,并且opt &&可以写成(opt ? step1.then(step2) : step1).then(step3)或step1.then(opt ? step2 : function id(x){ return x; }).then(step3)
标签: javascript node.js asynchronous promise q