Mein Code funktioniert einwandfrei und ich kann einige Daten in der Datenbank erstellen, aber danach muss ich die letzte ID aus dieser Datei an anderer Stelle einfügen, aber diese Funktion die Rückkehr Versprechen Objekt exportiert, und ich kann nicht variabel als Funktion Ergebnis, zum Beispiel zu:Nodejs gibt das Ergebnis von Promis zurück und weist die Variable asynchron als Funktion zu
module.exports = {
createNewUser: function (model) {
return new Promise((resolve, reject) => {
return model.create(
{
username: 'John'
})
.then(function (result) {
return result.userUniqueId;
})
.then(value => resolve(value));
});
},
};
Rückkehr Versprechen Objekt, und ich kann nicht zuweisen Variable zurückgegebene Ergebnis als
return result.userUniqueId;
Ich möchte Ergebnis erhalten und drucken oder Variable zuweisen als das Ergebnis mit diesem Code:
console.log(controller.createNewUser(models.users));
Vermeiden Sie die ['Promise' Konstruktor Antipattern] (http://stackoverflow.com/q/23803743/1048572)! – Bergi
@Bergi Ich lese es neu, aber ich kann das Problem nicht lösen –
Sie können nicht. Das Ergebnis ist nur asynchron verfügbar, Sie können es nicht von der Funktion zurückgeben. Verwenden Sie stattdessen 'controller.createNewUser (models.users) .then (console.log)' stattdessen. – Bergi