Ich habe den folgenden Code:unerwartete Ausgabe, wenn q.js
var p1 = Q($.ajax({
url: "/api/test1"
}));
p1.then(function() {
console.log("success1");
});
p1.then(function() {
throw "some error";
console.log("success2");
});
p1.then(function() {
console.log("success3");
});
p1.catch(function() {
console.log("failure1");
});
p1.catch(function() {
console.log("failure2");
});
p1.finally(function() {
console.log("finally1");
});
p1.finally(function() {
console.log("finally2");
});
Ich erwarte die folgende Ausgabe davon aus, dass ich einige Daten zurück von api/test1 bekommen - „success1, failure1, failure2, finally1, finally2"
Was ich eigentlich "success1, success3, finally1, finally3"
"Success3" mir ist rätselhaft - warum wird der Code in die 2. ausbreitende dann, wenn eine Ausnahme aufgetreten?
Wie kann ich dies schreiben, damit ich irgendwelche Ausnahmen, die in den dann Teil (en) auftreten können, fangen kann?
Ta