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 der makePayment().then().
InformationsquelleAutor Paul Erdos | 2014-10-01
Schreibe einen Kommentar