javascript - 承诺错误:非法参数:函数字符串
问题描述
为什么当尝试调用此方法时,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));
}
});
发生了什么事?
解决方案
我尝试删除异步,但同样的错误。
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));
}
});
}
推荐阅读
- python - .exe 文件无法从通过 rtsp 连接的摄像机读取 VideoStream?
- google-cloud-platform - Dialogflow webhook 中的 ssml
- java - Java 8 如何在集合接口中有具体方法?
- mysql - MySQL左连接返回只返回一行
- python - mongoengine 在嵌套字段上获取值
- git - eclipse 中的 Commit 和 Push 将整个文件提交为已更改
- angular - 如何在Angular Component文件中引用像datepicker这样的jQuery函数?
- css - 调整 react-toastify Toast 的背景颜色的最简单方法
- java - 创建线程并且从不启动它是否会对性能产生影响?
- c++ - c++ 将 4bytes 转换为 UTC 时间