NodeJS
私は最近遊んでいて、定期的なパターンの問題で立ち往生していることに気づきました:
いくつかの構成パラメーターに応じて、メイン操作を実行していますが、追加の手順を実行する必要がありますが、この手順は非同期です:
if(request.config.save) {
fs.writeFile(request.config.save, decryptedData, function(err) {
// Continue the operation with a callback...
// Perform some other ops.
if(typeof callback == 'function') callback(decryptedData);
}.bind(this));
} else {
// Continue the same operation without a callback
// Perform some other ops.
if(typeof callback == 'function') callback(decryptedData);
ご覧のとおり、メインエンディング(コールバック)が2回呼び出されるため、このコードはDRYではありません。
私が見る唯一の方法は関数を使用することです(しかし、ここでも関数呼び出しはDRYではありません...そしてコードはこの方法で本当に肥大化する可能性があります...
それで、これを解決するためのかなり忍者のトリックはありますか?