Ich möchte versuchen, diese Funktion in eine Promise
basierte Funktion umzuwandeln, um alle diese verschachtelten Rückrufe und return
Warnungen von ESLint consistent-return zu lösen.Umwandlung eines verschachtelten Callbacks in eine Promise
Zuvor habe ich um Hilfe gebeten, einen ESLint-Fehler mit meinen Rückgabeanweisungen zu umgehen, da sie nicht konsistent sind oder den Best Practices von JS folgen.
Mein erster Gedanke war einfach return new Promise((resolve, reject) => {...})
innerhalb der remove
Funktion tun, aber das würde promisify nur das Ganze und nicht nur, was in der Funktion ist so ich so das Gefühl ist nicht der beste Weg, dies zu tun.
Jede Hilfe wird geschätzt!
function remove(req, res) {
User.findOne({ username: req.params.username }, (findErr, existingUser) => {
if (findErr) return res.status(500).send(errorHandler.getErrorMessage(findErr));
if (!existingUser) return res.status(404).send({ message: 'User not found' });
existingUser.remove((removeErr) => {
if (removeErr) return res.status(500).send(errorHandler.getErrorMessage(removeErr));
return res.json({ message: `${existingUser.username} successfully deleted` });
});
});
}
Welche Bibliothek verwenden Sie für thsoe 'findOne' und' remove' Anrufe? Unterstützt es irgendwie Versprechen (möglicherweise durch einfaches Weglassen des Rückrufs)? – Bergi
Verwenden Sie einfach Mungo für die Datenbankabfrage – germainelol