我最近一直在玩,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);
如您所见,此代码不是 DRY,因为主结尾(回调)被调用了两次。
我看到的唯一方法是使用函数(但函数调用又不是 DRY ......而且代码可能真的很臃肿......
那么有一个漂亮的忍者技巧来解决这个问题吗?