내 프로젝트에 평균 기술을 사용하고 있습니다. 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);
}