与dockerode(泊坞窗模块)工作,我需要实现以下工作流程:从故障中恢复与承诺
- 创建容器
- 如果创建失败,拉容器,然后创建容器
- 运行容器
所以它看起来大致是:
docker.createContainer()
.catch(function (e) {
return docker.pull()
.then(function() { return docker.createContainer() };
}).then(function(o) { o.start(); });
这不是非常干燥。有什么方法可以清理这个?
你在哪里重复自己?将'docker.createContainer'放在一个额外的函数中可能会更加冗长。 – Bergi