【发布时间】:2021-06-17 06:19:37
【问题描述】:
是否可以触发 .then AND .catch ?
这是我的脚本:
passport.use(new BasicStrategy( (username, password, callback) => {
User.findOne({where: { username: username }})
.then(function (data) {
if(data === null) {
console.log("then.false");
callback(null, false);};
var verify = data.verifyPassword(password);
if(verify === true) {
console.log("then.data "+ data);
callback(null, data);
}
callback(null, false);
})
.catch( err => {
console.log('catch '+ err);
callback(null, false);
})
})
);
这里是我的控制台,我们可以看到 then 和 catch 被触发。怎么可能?
then.data [object SequelizeInstance:user]
catch Error: passport.initialize() middleware not in use
【问题讨论】:
-
如果
findOne()成功,您将进入.then()回调。如果.then()回调导致拒绝,您将进入下一个.catch()