jQuery 1.9.1 vaatleriyle ilgili bir sorunum var; burada potansiyel olarak ertelenmiş başka bir döneme dönecek mantığa ihtiyacım var ve nasıl ele alınacağından emin değilim. Bu benim en iyi denememdi, ancak yorumlar aşağıda belirtildiği gibi, diğer şubeye geçtiğimde, yine de ikinci .then() işlevine basıyorum, ki şimdi kullanıcıya geri dönebileceğimi umuyordum. Böyle bir senaryonun nasıl ele alınacağı ile ilgili herhangi bir desen var mı?Promises ile şubeleri işleme
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()
});
Bu gönderi size yardımcı olabilir: http://stackoverflow.com/questions/12149993/attempting-to-break-jquery-promise-chain-with-then-fail-and-reject – mattytommo
[Bu gönderi] (http: //net.tutsplus.com/tutorials/javascript-ajax/wrangle-async-tasks-with-jquery-promises/) sözleri daha iyi anlamanıza yardımcı olacak. Genelde koşullu kullanmak istiyorsanız, söz verdiğiniz sözü bir değişken olarak saklamanız ve koşullarınızda “o zaman” başarısını ya da “başarısızlığınızı” yürütmeniz gerekir, bunu başka bir şekilde yapıyor gibi görünüyorsunuz. – acconrad