Ich verwende Sequelize
Datenbank orm
und durch diesen Code alsMeine Rückkehr Ergebnis von Promise ist <pending>
model.create(
{
username: 'John'
}).then(function (result) {
return result.userUniqueId;
});
ich neue Benutzer in der Datenbank erstellen und i userUniqueId
innerhalb von then()
drucken.
erstellen, nachdem Benutzer Ich mag userUniqueId
in anderen Funktionen zurückgegeben verwenden, oder nur, dass auf der Konsole drucken, aber ich kann nicht mehr zurück result.userUniqueId
aus, dass für dieses Problem behebt Ich versuche Promise
zu benutzen Sie führen dann zum Einsatz I dass auf:
'use strict';
module.exports = {
createNewUser: function (model) {
return new Promise(
function (resolve, reject) {
model.create(
{
username: 'John'
}).then(function (result) {
return result.userUniqueId;
});
})
.then(function (result) {
resolve(result.userUniqueId);
});
},
};
aber ich bekomme dieses Ergebnis außerhalb von createNewUser
Funktion als console.log(controller.createNewUser(models.users));
Ergebnis:
Promise { <pending> }
Wie kann ich dieses Problem lösen?
UPDATE:
'use strict';
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));
});
},
};
und
var userId = controller.createNewUser(models.users)
.then(function (userId) {
return userId;
});
console.log(userId);
Druck Versprechen Objekt
meinen Beitrag mit Ihrer Hilfe aktualisiert, aber ich bekomme Versprechen Objekt wieder –