2017-06-05 166 views
1

我有一个等待用户输入的自定义确认对话框。我把它包装在一个承诺中。完成承诺没有拒绝/解决?

当用户选择“是”替代我resolve的承诺。

然而,当用户选择no这不是一个真正的错误,但更多的是不应该执行下一个任务。

我该如何处理该承诺的情况?简单地不调用解决方案/拒绝还是有更好的方法?

+0

嗯,在我看来'no'意思是“拒绝”,“拒绝”并不一定意味着错误,这可能意味着下一个行动不应该发生。 – Cristy

+1

'只是不调用解决方案/拒绝'将意味着连锁摊位!你可以拒绝,用聪明的代码你可以做你需要的东西 –

+0

当用户选择“yes”时,你也可以“解析”并传递一个布尔值,“true”和“false”为“no”。 – Arg0n

回答

2

您可以解析一个值并在之后检查该值。

new Promise((resolve, reject) => { 
    const userInput = confirm('Do you want to continue?'); 
    resolve(userInput); 
}).then(input => { 
    if(input) { 
     // Do something 
    } else { 
     // Do something else 
    } 
});