sequelize error: Unhandled rejection TypeError: expecting an array or an iterable object but got [object Null]
sequelize error: Unhandled rejection TypeError: expecting an array or an iterable object but got [object Null]
我正尝试在我的模型中使用 sequelize 中的 findOne,但我收到此错误
模型引用的table为空,如何处理?
Unhandled rejection TypeError: expecting an array or an iterable object but got [object Null]
这是我的代码:
app.get('/test/models', function(req, res) {
var values = {
where: { user_id: 7 }
};
MercadoLibre.findOne(values)
.spread(function(err, meli) {
console.log(err);
if (typeof meli !== null) {
console.log("undefined");
} else {
console.log(meli);
}
res.redirect('/dashboard');
});
});
我该如何解决这个问题?
您的代码中存在一些错误
- 您应该处理来自
MercadoLibre.findOne()
的 Promise.reject()
结果。
您应该使用 .then()
而不是 .spread()
来获得 findOne()
的结果
.then(function(resolve)).catch(function(reject))
- 您可以在单个
thenable
中处理resolve()
和reject()
,但格式是:
.then(function(resolve), function(reject))
- 您错误地检查了 null(不需要
typeof
),并且您的代码将始终 return 为真(即使 meli
为 undefined
,也将如此typeof
)
typeof meli !== null
app.get('/test/models', function(req, res) {
var values = {
where: { user_id: 7 }
};
MercadoLibre.findOne(values)
.then(function(result) {
// just check for false-y
if (!result) {
console.log('Nothing was returned!')
}
// redirect to the route you want
res.redirect('/dashboard');
})
.catch(function(err) {
// catch any errors
console.log('Error, do some kind of redirect?!', err);
});
});
我正尝试在我的模型中使用 sequelize 中的 findOne,但我收到此错误 模型引用的table为空,如何处理?
Unhandled rejection TypeError: expecting an array or an iterable object but got [object Null]
这是我的代码:
app.get('/test/models', function(req, res) {
var values = {
where: { user_id: 7 }
};
MercadoLibre.findOne(values)
.spread(function(err, meli) {
console.log(err);
if (typeof meli !== null) {
console.log("undefined");
} else {
console.log(meli);
}
res.redirect('/dashboard');
});
});
我该如何解决这个问题?
您的代码中存在一些错误
- 您应该处理来自
MercadoLibre.findOne()
的Promise.reject()
结果。 您应该使用
来获得.then()
而不是.spread()
findOne()
的结果.then(function(resolve)).catch(function(reject))
- 您可以在单个
thenable
中处理resolve()
和reject()
,但格式是:.then(function(resolve), function(reject))
- 您可以在单个
- 您错误地检查了 null(不需要
typeof
),并且您的代码将始终 return 为真(即使meli
为undefined
,也将如此typeof
)typeof meli !== null
app.get('/test/models', function(req, res) {
var values = {
where: { user_id: 7 }
};
MercadoLibre.findOne(values)
.then(function(result) {
// just check for false-y
if (!result) {
console.log('Nothing was returned!')
}
// redirect to the route you want
res.redirect('/dashboard');
})
.catch(function(err) {
// catch any errors
console.log('Error, do some kind of redirect?!', err);
});
});