現在、Nodejs、Express、Sequelize(PostgreSQL)アプリケーションを構築中です。トランザクションとループと共に約束を使用する際にいくつかの問題があります。Sequelizeでのトランザクションでのループと約定の使用
私はトランザクションでforループを使用する方法を理解しようとしています。私は、メンバーのリストをループし、それぞれのデータベースの新しいユーザーを作成しようとしています。
私は次のコードが間違っていることを知っていますが、私がしようとしていることを示しています。
誰でも正しい方向に向けることができますか?私はそれが取引上のキャッチにフォーマットするための
申し訳ありませんが飛び出すと思うよう
var members = req.body.members;
models.sequelize.transaction(function (t) {
for (var i = 0; i < members.length; i++) {
return models.User.create({'firstname':members[i], 'email':members[i], 'pending':true}, {transaction: t}).then(function(user) {
return user.addInvitations([group], {transaction: t}).then(function(){}).catch(function(err){return next(err);});
})
};
}).then(function (result) {
console.log("YAY");
}).catch(function (err) {
console.log("NO!!!");
return next(err);
});
お返事ありがとうございますが、トランザクションに約束を返す必要があることを伝えるエラーが表示されます。それぞれのPromise.allの前に "return"を追加しようとしましたが、 "未処理の拒否コミットがこのトランザクションで呼び出されました(fc7be023-1980-455e-9934-7816420daa2b)、もう使用できません" _ – ReturnToZero
戻り値は何もuserPromisesにプッシュされません。 –
@BenjaminGruenbaumありがとう私は昨日モバイルでこれをやったことがあり、戻ってきて、それをチェックする機会がありません。私ができるときに更新します。 – Datsik