Javascript bcrypt比较:未触发回调

Javascript bcrypt比较:未触发回调,javascript,react-native,bcrypt,Javascript,React Native,Bcrypt,我对bcrypt.compare()有一个奇怪的问题 选中此项: function logUserIn(redirectRouteName) { setIsLogin(true); const fields = User.getPropertiesName(); Base('Customers').select({ maxRecords: 1, fields, filterByFormula: `email = "${state.use

我对bcrypt.compare()有一个奇怪的问题

选中此项:

function logUserIn(redirectRouteName) {
    setIsLogin(true);
    const fields = User.getPropertiesName();
    Base('Customers').select({
      maxRecords: 1,
      fields,
      filterByFormula: `email = "${state.username}"`
    }).eachPage((records, fetchNextPage) => {
      const user = new User(records[0].fields);
      bcrypt.setRandomFallback((len) => {
        const buf = new Uint8Array(len);
        return buf.map(() => Math.floor(isaac.random() * 256));
      });

      bcrypt.compare(state.password, user.password, (err, res) => {
        // console.log('hello'): returns nothing...
        if(res){
          setUserData(user);
          setIsLogin(false);
          props.navigation.navigate(redirectRouteName);
        }
      });

    }, (err) => {
      if (err) { console.error(err); return; }
    });

  } 

我的问题是,没有触发bcrypt比较回调。我在它周围放了日志,很好,
state.password
user.password
do包含预期值。实际上,bcrypt.compare中没有执行任何内容,因此。。。我在这里迷路了。有什么想法吗?

您确定每个页面的
回调都会运行吗?确保没有任何用户记录。是的。我可以在运行bcrypt compare之前记录用户数据,它确实包含预期的值。是否
.setRandomFallback
.compare
方法按预期顺序执行?在
内部。比较
回调,你能记录
错误
恢复
吗?不,我不能。实际上,经过1小时的调试,结果是
props.navigation.navigate(redirectRouteName)正在悄无声息地失败,正在中断回调中的所有日志。。。