TypeError:无法读取未定义的属性'then'
我想我只是需要另一双眼睛,因为我无法得到我在这里想念的东西。
$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);
};
当我调用displaySuccessMessage时,我得到“不能读取属性”,然后“未定义”。 我尝试过重构几种不同的方式,但无法使其工作。 有没有人看到我的错误?
您的displaySuccessMessage
不会返回承诺。 事实上,它不会返回任何东西。
假设cartService.emptyCart()
返回一个承诺,您可以像这样修改displaySuccessMessage
,它应该可以正常工作:
function displaySuccessMessage() {
$scope.success = true;
return cartService.emptyCart();
}
链接地址: http://www.djcxy.com/p/22929.html