首页 > 解决方案 > 承诺错误:非法参数:函数字符串

问题描述

为什么当尝试调用此方法时,promise 会导致错误:llegal arguments: function string

const changePassword = function(context, user, newPass){


   return new Promise(async (resolve, reject) => { 
    try {
      hash = bcrypt.hashSync(newPass, 10);
      const result =  await context.db("users").where('id', user.id).update({
        password: hash,
        old_passwod: user.password
      });  

      resolve("Senha alterada");

    } catch (err){
      reject(new Error('Não foi possivel alterar a senha! '+err));
    }
  });

发生了什么事?

标签: javascriptnode.js

解决方案


我尝试删除异步,但同样的错误。

const changePassword = function(context, user, novaSenha){


   return new Promise((resolve, reject) => { 
    try {
      hash = bcrypt.hashSync(novaSenha, 10);
      const result =   context.db("users").where('id', user.id).update({
        password: hash,
        old_passwod: user.password
      });  

      resolve("Senha alterada");

    } catch (err){
      reject(new Error('Não foi possivel alterar a senha! '+err));
    }
  });
   
}

推荐阅读