私のプロジェクトにはMEAN技術を使用しています。 Node.jsではcallbacks
を使用する必要があります。ここで私はデータベースのユーザーエントリを更新する関数を持っています。データベースに格納する前に、まずデータの検証を行い、次にいくつかのチェックを実行する必要があります。これを行うことで、私のコードは非常に複雑になります。私は約asyncライブラリについて聞いた。async.jsを使用してNode.jsのコールバックコードを簡略化する方法
このコードの複雑さをどのように減らすことができますか?私は非同期についてはあまりよくわかりませんが、本当に私の問題を解決できますか?
また、承認のような他のチェックを実行する必要があります。そして私はコールバック地獄を書いたくありません。
どのような提案も高く評価されています。
お時間をいただきありがとうございます。
function updateUser(user_id, userData, cb){
let response = {};
//validate user data
validate(userData, function(isPassed, validationResult){
if(isPassed){
//validate user id
validateUserId(user_id, function(isValid){
if(isValid){
db.findById({ _id: user_id}, function(err, user){
if(err){
response.status = 'error';
response.data = err;
cb(response);
} else {
user.save(userData, function(err, numOfRow){
if(err){
response.status = 'error';
response.data = err;
cb(response);
} else {
response.status = 'success';
response.data = numOfRow;
cb(response);
}
})
}
})
} else {
response.status = 'error';
response.data = 'Provided id is not valid';
cb(response);
}
});
} else {
response.status = 'validationError';
response.data = validationResult;
cb(response);
}
});
}
function validate(data, cb){
// checks some conditions here
cb(false, [errors]);
}
function validateUserId(id, cb){
// checks some conditions here
cb(false);
}