我有一个兴亚2应用程序和岗位/注册由该函数处理:猫鼬异步/与兴亚等待获得上等待Model.findOne()卡EXEC()
import User from 'models/user';
export const signup = async (ctx, next) => {
const { email, password } = ctx.request.body;
try {
const existingUser = await User.findOne({ email });
if (existingUser) {
ctx.body = { error: 'Email is in use' };
return next();
}
const user = new User({
email,
password,
});
await user.save();
ctx.body = { success: true };
} catch (e) {
next(e);
}
return next();
};
的funtion收到正确的数据,但await User.findOne().exec();
永远不会返回并卡住。
我认为问题在那里,因为如果我删除,代码正常执行。如果我切换到Promise像... find().then
它也可以工作。 异步/等待)正在或者,因为如果我更改为取的await((模拟异步),它的工作原理......但这里是我的巴贝尔配置
{
"presets" : ["latest", "stage-0"],
"plugins": [
["module-resolver", {
"root": ["./src"]
}]
]
}
猫鼬是4.7.0
你的代码没有显示你使用'.exec()'(尽管它可能不是严格必要的)。另外,你确定它不会抛出异常吗?你的代码在发生异常时调用'next'两次(一次使用错误参数,然后使用'return next')。 – robertklep
啊对不起..复制一个旧的代码..但也不工作......并且没有例外......并且已经修复了两个电话......谢谢 –