0
私はノードのjs関数にSQLプロシージャを変換しています。ノードjs、リファクタリング長いノードjsync関数
変換機能が長すぎるため、読みやすくなります。
小さな機能を分割したいのですが、どのようにリファクタリングできるのか分かりません。 いくつかのSQL文をシリアルで実行する必要があるため、async.waitを使用します。
exports.cancelDansok = function cancelDansok(dansokSeqNo, callback) {
var tasks = [
function (callback) {
models.DansokHist.max('SerialNo', {
where: { DansokSeqNo: dansokSeqNo}
})
.then(max => {
if (!max) {
callback(null, 1);
} else {
callback(null, max+1);
}
})
.error(err => {
log.info(err);
return callback({status:400, message:'select dansokhisttbl failed.'});
});
},
function (serialNo, callback) {
....
})
.then(() => {
....
})
.then(feeVBankList => {
callback(null);
})
.error(err => {
return callback({status:400, message:'update dansokfeetbl failed.'});
});
},
function (callback) {
....
},
function (callback) {
....
},
function (callback) {
....
},
function (callback) {
....
}
];
async.waterfall(tasks, function(err, success) {
if (err) {
return callback(err);
} else {
return callback(success);
}
});
}
私の場合、どのようなベストプラクティスですか?