关于.Then和.catch的问题

issue on .then and .catch(关于.Then和.catch的问题)

本文介绍了关于.Then和.catch的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以触发.Then和.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);
      })
  })
);

这里是我的控制台,我们可以看到,CATCH和CATCH被触发。怎么可能?

then.data [object SequelizeInstance:user]
catch  Error: passport.initialize() middleware not in use

推荐答案

感谢您的帮助。我按如下方式更改了代码:

passport.use(new BasicStrategy( (username, password, callback) => {
User.findOne({where: { username: username }})
  .then(function (data) {
    var verify = data.verifyPassword(password);
    if(verify == true) { console.log("VERIFY = " + verify); callback(null, data); } 
       }
  )
  .catch( err => {
    console.log('catch  '+ err);
    callback(null, false);
    }
  )
  }
  ));

我的控制台结果是:

VERIFY=TRUE 捕获错误:passport.initialize()中间件未在使用

我们已完成.Then并再次捕获,尽管来自Verify的";true";和if";if也返回了";true。

这篇关于关于.Then和.catch的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:关于.Then和.catch的问题

基础教程推荐