使用dockerode(docker模块)我需要实现以下工作流程:
所以看起来大致如下:
docker.createContainer()
.catch(function (e) {
return docker.pull()
.then(function() { return docker.createContainer() };
}).then(function(o) { o.start(); });
这不是很干。有没有办法清理它?
答案 0 :(得分:2)
什么不干? - DRYer唯一会使用es6箭头功能:
docker.createContainer()
.catch(e => docker.pull().then(() => docker.createContainer()))
.then(o => o.start());
这里唯一的重复是你问题的原始表达,我认为不能将其作为DRYer。