我使用Sequelize
數據庫orm
,並通過這個代碼從無極我返回的結果是<pending>
model.create(
{
username: 'John'
}).then(function (result) {
return result.userUniqueId;
});
我可以在數據庫中創建新的用戶,我可以打印userUniqueId
的then()
內。
後創建的用戶我想在其他函數中使用返回userUniqueId
或只打印在控制檯上,但我不能從返回result.userUniqueId
,爲解決這個問題,我試圖用Promise
得到的結果,那麼我部署那到:
'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);
});
},
};
,但我得到createNewUser
功能之外這一結果爲console.log(controller.createNewUser(models.users));
結果:
Promise { <pending> }
我該如何解決這個問題?
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));
});
},
};
和
var userId = controller.createNewUser(models.users)
.then(function (userId) {
return userId;
});
console.log(userId);
打印無極對象
我的崗位在您的幫助更新的,但我又得到承諾的對象 –