Я использую Bluebird Promises для приложения Node.js. Как я могу ввести условные ветви цепочки для своего приложения? Пример:
exports.SomeMethod = function(req, res) {
library1.step1(param)
.then(function(response) {
//foo
library2.step2(param)
.then(function(response2) { //-> value of response2 decides over a series of subsequent actions
if (response2 == "option1") {
//enter nested promise chain here?
//do().then().then() ...
}
if (response2 == "option2") {
//enter different nested promise chain here?
//do().then().then() ...
}
[...]
}).catch(function(e) {
//foo
});
});
};
Помимо того, что еще не придумали рабочую версию этого, это решение кажется (и выглядит) каким-то странным. У меня закралось подозрение, что я несколько нарушаю концепцию обещаний или что-то в этом роде. Любые другие предложения, как ввести этот вид условного ветвления (каждое из которых включает не один, а много последовательных шагов)?