Ich schreibe ein Registrierungssystem in Node/Express und ich versuche, Promises zu nutzen.Pause Versprechen Kette - stoppen Sie die nächste 'dann' von der Ausführung
Das Problem ist, dass ich eine Fehlermeldung erhalten, wenn sie mit:
Fehler:
(node:64725) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2):
Gibt es eine Möglichkeit zu einem then
zu stoppen?
auth.isRegistered(email)
.then((registered) => {
if (!registered) {
req.flash('pleaseRegister', 'Looks like you haven\'t registered. Please register first.');
req.session.user = user;
res.redirect('/register')
}
})
.then(() => {
return auth.isVerified(email);
})
.then((verified) => {
if (!verified) {
console.log('please verify');
res.redirect('/register/verify');
} else {
req.login(user, err => {
if (err) return next(err);
req.session.timestamp = Date.now();
auth.updateLastLogin(email)
.then(() => {
res.redirect(req.session.returnTo || '/account');
});
});
}
});
Zuerst scheint Fehler Sie wie eine Warnung. Zweitens, haben Sie versucht, Ihrem Versprechen einen "Fang" -Anruf hinzuzufügen? –
'if' /' else' wie du es im letzten 'then' Callback machst sollte in Ordnung sein, mach das selbe für' if (! Registriert) '. – Bergi
Welches Versprechen wird abgelehnt, mit welchem Fehler? Sie scheinen nie irgendwelche Fehler bei irgendwelchen Versprechungen zu "fangen", so dass dies zu erwarten ist. – Bergi