gpt4 book ai didi

node.js - 当我尝试创建新用户时,意外的 token user = wait User.create(user)

转载 作者:太空宇宙 更新时间:2023-11-04 02:54:24 27 4
gpt4 key购买 nike

我正在尝试使用 node.js/adonis 创建新用户

我创建了这两个函数:

const User = use("App/Models/User")

async store ({ request, auth }){

let user = new User()
user = request.all()

this.userLogged(auth).then(res => {
user.user_id = res.id
console.log(user)
user = await User.create(user)
const token = await auth.generate(user)
Object.assign(user, token)
return user
})
}

async userLogged(auth) {
try {
return await auth.getUser()
} catch (error) {
console.log(error)
}
}

函数“userLogged()”返回我在授权 header 中收到 token 的用户。

所以我尝试:

create a new instance of User;
put the request data in this instance;
take the user_id of the authorization header and put in the user.user_id;
create the user with the user_id;
take the token of the registred user;
put in the object user the token;
return the user;

但我收到:

Unexpected token user = await User.create(user)

最佳答案

您正在尝试等待不在异步函数中的东西,特别是您的promise解析器.then中的回调。

async store ({ request, auth }){

let user = new User()
user = request.all()

this.userLogged(auth).then(async res => {
user.user_id = res.id
console.log(user)
user = await User.create(user)
const token = await auth.generate(user)
Object.assign(user, token)
return user
})
}

此外,根据提供的代码,store 不需要异步,因为您不需要在其范围的顶层等待任何内容。

关于node.js - 当我尝试创建新用户时,意外的 token user = wait User.create(user),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58547256/

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