Koa 2 アプリケーションがあり、/signup への投稿は次の関数によって処理されます。
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();
};
関数は正しいデータを受け取りますが、await User.findOne().exec();
決して返されず、スタックします。
削除するとコードが正常に実行されるため、問題があると思います。私がPromiseに切り替えると...find().then
それも機能します。(async をエミュレートするために) await fetch() に変更すると動作するため、async/await のいずれかが動作しています...しかし、ここに私のバベルの設定があります
{
"presets" : ["latest", "stage-0"],
"plugins": [
["module-resolver", {
"root": ["./src"]
}]
]
}
マングースはバージョン 4.7.0 です