Javascript 续集-创建instarnce后不返回承诺
我试图创建新的过滤器并打印(console.log)刚刚创建的对象的id,但它没有进入.then函数。 代码如下:Javascript 续集-创建instarnce后不返回承诺,javascript,node.js,express,promise,sequelize.js,Javascript,Node.js,Express,Promise,Sequelize.js,我试图创建新的过滤器并打印(console.log)刚刚创建的对象的id,但它没有进入.then函数。 代码如下: var Sequelize = require('sequelize'); var FilterModel = require('../models/filters'); var Filter = new FilterModel(Database, Sequelize); Filter.create({ name: data.filter_name }).then(functio
var Sequelize = require('sequelize');
var FilterModel = require('../models/filters');
var Filter = new FilterModel(Database, Sequelize);
Filter.create({ name: data.filter_name }).then(function(filter) {
console.log( '***************************************' );
});
“**”未打印,但条目位于数据库中
当我尝试这样做时:
var filter = Filter.create({ name: data.filter_name })
然后打印'filter',我已经得到了一个新的实例,其中包含了创建的\u等,但是id是空的
id定义为:
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
拜托有人能帮我这里怎么了
谢谢 实际上,它是进入“then”并打印控制台的 它绕过“then”转到下一行,然后返回(承诺完成后)到“then”函数 我调试了它并在之后添加了console.log
Filter.create({ name: data.filter_name }).then(function(filter) {
console.log( '***************************************' );
});
console.log('after')
现在,它打印“之后”
然后打印“******”
无论如何,谢谢。您确定Filter.create()返回承诺或至少返回一个可启用对象吗?如果是这样,则promise可能刚刚返回了rejected,因此您可以尝试添加第二个函数来捕获拒绝的结果。您的
new FilterModel()
应该返回Sequelize.define()
object@TilekbekovYrysbek我已经在模型中定义了它。这个代码与您的问题有什么不同?