У меня есть проблема с промисами jQuery 1.9.1, где мне потенциально нужна условная логика, которая вернет еще одно отложенное, и я не уверен, как с этим справиться. Это была моя лучшая попытка, но, как показывают комментарии ниже, когда я нажимаю ветку else, я все равно нажимаю вторую функцию .then(), где я надеюсь, что смогу вернуться к пользователю. Любые шаблоны того, как справиться с таким сценарием?
storage.provision(c)
.then(function(rc){
if(rc === 0){
storage.write(c);
}else{
return options.onSuccess(rc); //how i got back to the users callbacks/promise, but this
//takes me to the .then below
}
})
//storage.write returns a promise as well, do I do another .then
// like this?
.then(function(rc){
//I was hoping this would catch, the storage.write() case, and it does, but it also catches
//the retun options.onSuccess(rc) in the else case.
options.onSuccess(rc);
})
.fail(function(e){
//handle error using .reject()
});
then
success
илиfail
внутри своих условных выражений, вы, похоже, делаете это наоборот. - person acconrad   schedule 21.03.2013