NodeJS 顺序异步与条件语句



是否可以编写以顺序方式执行多个异步步骤的 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);

如果有人能阐明一些信息或提出建议,那就太棒了!

谢谢

假设step2step3是返回承诺的函数,有什么问题:

 step1.then(function() {
     if( opt ) {
         return step2();
     } else {
         return step3();
     }
 })
 .then(step4);

编辑

您的第一个示例step1.then(opt && step2).then(step3);如下所示:

step1.then(function() {
     if( opt ) {
         return step2();
     }
 })
 .then(step3);

如果您不返回任何东西,则undefined将被退回。对于每个不是 Promise 的返回值,库将创建一个使用该值解析的 Promise。

承诺/A+: 然后的方法:

promise2 = promise1.then(onFulfilled, onRejected);

如果onFulfilledonRejected返回值x,请运行承诺解决过程[[Resolve]](promise2, x)

相关内容

  • 没有找到相关文章

最新更新