Я столкнулся с проблемой, когда я считаю, что вызов возвращается слишком рано, и мой ответ всегда отображается как 404 - Not Found.Запись сделана в базе данных, поэтому она возвращается рано из того, что я могу сказать.Я думаю, что я ждал правильных частей, но ясно, что это не так.Я также попытался дождаться db.AddUser, но безуспешно.
Конечная точка
//Post signup
public async SignUpAsync(ctx: Context) {
try {
let code = await SignUpVerification.GenerateCode();
let user = await this.InfoFromRequest(ctx.request.body);
user.Code = code;
await db.AddUser(user);
console.log('added db user');
//await SignUpVerification.SendVerificationText(user.PhoneNumber, code)
console.log('success message');
ctx.body = 'Success';
} catch (err) {
ctx.status = 400;
ctx.body = err;
}
};
private async InfoFromRequest(requestBody: any) {
return {
Email: requestBody['email'],
FirstName: requestBody['firstname'],
MiddleName: requestBody['middlename'],
LastName: requestBody['lastname'],
Pwd: requestBody['pwd'],
PhoneNumber: requestBody['phonenumber']
} as IUserModel;
}
Вызов модели
async AddUser(newUser: IUserModel) {
return await userModel.AddUser(newUser);
}
Вызов модели
async AddUser(newUser: IUserModel) {
try {
var userToSave = new User({
name: {
firstname: newUser.FirstName,
middlename: newUser.MiddleName,
lastname: newUser.LastName
},
email: newUser.Email,
pwd: newUser.Pwd,
code: newUser.Code,
phonenumber: newUser.PhoneNumber
});
let result = await userToSave.save();
console.log('New User saved');
console.log(result);
} catch (err) {
throw new Error(err);
}
}
Метод генерирует код, который возвращается из вызова модели
static async GenerateCode() {
return await (Math.floor(Math.random() * 90000) + 10000).toString();
}