Versprechen - TypeError: Cannot read property 'dann' undefined
Ich glaube, ich muss nur noch ein paar Augen auf das, weil ich nicht das bekomme, was ich bin, fehlt hier.
$scope.checkout = function (form) {
//some code here
function checkoutErrorHandler(error) {
//some code here
}
function displaySuccessMessage() {
$scope.success = true;
cartService.emptyCart();
}
checkoutService.makePayment($scope.payment).then(function (i) {
//some code here
checkoutService.buyProducts($scope.payment, products, i).then(function () {
displaySuccessMessage().then(function(){
$scope.payment = {}; //clear checkout form
$scope.form.reset();
});
return displaySuccessMessage;
},
checkoutErrorHandler
);
}, checkoutErrorHandler);
};
Bekomme ich "Cannot read property", dann "undefined", wenn ich rufe displaySuccessMessage. Ich habe versucht, refactoring mehrere verschiedene Möglichkeiten, aber kann es nicht funktionieren. Erkennt jemand meinen Fehler???
- Die "displaySuccessMessage" nicht enthalten ist eine
return
- Anweisung. - Was
Pointy
sagte.then
ist keine Zauberei, Sie brauchen, um wieder ein Versprechen, wenn Sie es verwenden möchten. Ich denke, das ist nur ein Tippfehler hier also die Abstimmung zu schließen. - Nur zur info, Da beide den gleichen Fehler-handler, die Sie nutzen könnten, nur eine einzige
.catch()
nach dermakePayment().then()
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre
displaySuccessMessage
nicht wieder ein Versprechen. In der Tat, es nichts zurückgibt.Unter der Annahme, dass
cartService.emptyCart()
gibt ein Versprechen, die Sie ändern könnendisplaySuccessMessage
wie diese, und es sollte gut funktionieren: