Wie kann ich ordnungsgemäß die Schaltfläche Abbrechen, ohne einen Fehler bei der Verwendung von Versprechen zu vermeiden? Mein Code löst eine Warnmeldung mit einem erforderlichen Kontrollkästchen aus. der Code ausgeführt wird, wie es für den Benutzer sollte, aber ein Fehler im Konsolenfenster wirft:Uncaught (im Versprechen) Abbrechen mit SweetAlert2
Uncaught (in Versprechen) abbrechen
//validation logic all passes...Now proceed to...
else
{
//determine and parse Discounts
var myLookup = document.getElementsByName("myLookup")[0].value;
$.post("findthem.php", {myLookup: myLookup })
.done(function(json_data){
var theResponse1 = $.parseJSON(json_data);
myDiscountRate = theResponse1['ourDiscountFound'];
}).then(function(callback){
priceRate = priceRate * (1 - (.01 * myDiscountRate));
newRate = priceRate.toFixed(2);
}
swal({
title: "Confirm",
input: 'checkbox',
inputValue: 0,
type: "warning",
inputPlaceholder: 'I agree to <a href="#blahblahMore"></a> Your new Rate is :'+newRate,
showCancelButton: true,
confirmButtonText: 'Confirm',
showLoaderOnConfirm: true,
preConfirm: function(result) {
return new Promise(function(resolve, reject) {
if (result) {
$.post("my.php", {
Data: data
})
.done(
function(json_data) {
var data_array = $.parseJSON(json_data);
var moreDetails = '';
var resulting = 'error';
var details = "Transaction Declined"
if (data_array["trxApproved"] == true) {
resulting = 'success';
details = "Confirmed"
moreDetails = "<br>Approved<b>" + data_array["approved"] + "</b>" +
"<br>Details Code: <b>" + data_array["detailsCode"] + "</b>";
}
swal({
type: resulting,
title: details,
html: "<h1>Details: </h1>" + data_array["messagetext"] + moreDetails
});
}
);
resolve();
} else {
reject('You must agree to our Terms & Conditions ');
}
});
},
allowOutsideClick: false
}).then(function(json_data) {
})
});
Hinweis: Vermeiden Sie die [Promise Konstruktor Antipattern] (http://stackoverflow.com/q/23803743/1048572). – Bergi
Können Sie Ihren Code richtig einrücken? Ich kann nicht erkennen, wo all diese Funktionen enden. – Bergi
Danke @ guest271314 für den Einzug. Es sieht so aus als wäre da ein '})' zu viel. Kannst du bitte deinen vollständigen Code posten? – Bergi