gpt4 book ai didi

javascript - 阿多尼斯 : how to catch exception in lucid model creation?

转载 作者:太空宇宙 更新时间:2023-11-04 01:20:06 25 4
gpt4 key购买 nike

我正在使用 adonisjs 构建 RESTful api。我在 jwt 登录模块中遇到这个问题。看下面的代码:

async login({request, auth, response}) {

let {email, password} = request.all()

try {
if (await auth.attempt(email, password)) {
let user = await User.findBy('email', email)
let token = await auth.generate(user)
user.password = undefined
Object.assign(user, token)
//------------------------------------------
const assignedToken = await Token.create({
user_id: user.id,
token,
})
// -------- i'd like to catch exception here...
return response.json({
success: true,
user
})
}
} catch(e) {
return response.json({
success: false,
message: 'login_failed'
})
}
}

我想在将 jwt token 保存到数据库时捕获可能的异常。我对阿多尼斯很陌生。我检查了他们的文档,但找不到确切的返回类型。他们会抛出异常吗?或者只是返回 null/false?我不知道。你有吗?

最佳答案

Do they throw an exception?

创建过程中出现问题会出现异常。您可以在 try/catch 内部创建一个新的 try/catch。喜欢:

async login({request, auth, response}) {
...
try {
...
try { // New try/catch
const assignedToken = await Token.create({
user_id: user.id,
token,
})
} catch (error) {
// Your exception
return ...
}
return response.json({
success: true,
user
})
}catch (e) {
...
}
}

这是最简单的解决方案。我会这样做,因为可能会出现不同类型的错误。

关于javascript - 阿多尼斯 : how to catch exception in lucid model creation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59601928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com